防止默认在Google Chrome上工作但在Firefox上没有<select>元素</select>

时间:2012-05-21 22:39:17

标签: jquery

因此,如果您尝试以下代码:http://jsfiddle.net/LNfZT/29/

它在Chrome上完美运行,但在Firefox上完全没有。有谁知道为什么?

2 个答案:

答案 0 :(得分:1)

这是由多种因素共同造成的。

第一个问题是Firefox在您执行之前会附加其事件侦听器,因此您没有机会阻止默认操作。

第二个是Firefox中的bug,它不会检查默认操作是否已被阻止。

您可以通过在事件到达<select>之前捕获事件并停止传播来解决此问题。

答案 1 :(得分:0)

只需将option添加到您的元素选择器 - 并在代码中添加return false;

$('select[id="selectID"] option').on('keydown',function(e){
    e.preventDefault();
    return false;
});

demo