我试图抑制Firefox对<select multiple="multiple">框的解释中的正常键盘事件,但我惯用的方法不起作用。 YUI的stopEvent似乎并没有真正抑制按键或击键(或两者)的影响。

keyPressHandler =函数(e){
    YUE.stopEvent(e);
};
YAHOO.util.Event.addListener(element,'keypress',keyPressHandler)
YAHOO.util.Event.addListener(element,'keydown',keyPressHandler)


假设元素是一个选择框,则键盘仍可用于在Firefox中导航该选择框,但是在Chrome中则不可用。关于如何正确抑制Firefox中的键盘事件的任何想法?

我通常不会超越YUI的范围,但如果有其他解决方案,我会欢迎您。

最佳答案

尝试这个:

var keyPressHandler = function(e){
    e.preventDefault();  // prevents any default actions of the browser
    e.stopPropagation(); // prevents the event mechanism from bubbling
    return false;        // If there is any condition on the return value, assure it fails
};

element.addEventListener('keydown',keyPressHandler,false);

10-04 16:13