【发布时间】:2015-08-24 14:45:45
【问题描述】:
我想阻止键 #93 上的默认事件(select,在 AZERTY 键盘上的 alt gr 和 ctrl right 之间)。
此键打开上下文菜单,如右键单击。
我试过了:
$(document).off('keydown');
$(document).off('keyup');
$(document).off('keypress');
$(document).on('keypress', function(e){
if(e.keyCode == 93)
{
e.preventDefault();
return false;
}
});
$(document).on('keyup', function(e){
if(e.keyCode == 93)
{
e.preventDefault();
return false;
}
});
$(document).on('keydown', function(e){
if(e.keyCode == 93)
{
e.preventDefault();
return false;
}
});
没有任何效果...我一直都有上下文菜单。
【问题讨论】:
-
jsfiddle.net/0kkm1vq0/1 不确定,它对我有用,除非您移出渲染(因此您转到 url 栏或 jsfiddle 的 css 和 html 和 js 部分,它们不是视为渲染)。简而言之,它似乎在 dom 本身内部工作,而您(幸运的是)不能在 DOM 之外禁用它。哦,顺便说一句,它可以同时使用 .which 和 .keyCode,但你应该使用 .which 因为.. this:stackoverflow.com/questions/4471582/javascript-keycode-vs-which
-
这适用于 chrome,但我在你的 jsfiddle 或这个上也有 FF 38.0.5 的上下文菜单jsfiddle.net/0kkm1vq0/2
-
我们实际上正在寻找另一个事件,而不是键盘事件,请参阅下面的答案,它应该可以工作。
标签: javascript firefox events contextmenu unbind