如何使用 FF 通过键盘(#93 键)unbind/prevent 上下文菜单?
how to unbind/prevent context menu by keyboard (key #93) with FF?
我想阻止键 #93 上的默认事件(select,在 alt gr 和 ctrl right 在 AZERTY 键盘上)。
此键打开右键菜单。
我试过了:
$(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;
}
});
没有任何效果...我一直都有上下文菜单。
查了一段时间后,我又转到了另一个与这个问题类似的问题,但问题却截然不同。
无论如何,由于问题出在上下文菜单上,您甚至不需要 jQuery 和解决方案(尽管它在 firefox 中并不总是有效,因为用户可能会设置它禁用这样的)是这个:
document.oncontextmenu = function (e) {
e.preventDefault();
return false;
}
fiddle:
http://jsfiddle.net/0kkm1vq0/3/
也适用于 chrome,您不需要使用键盘侦听器。
参考:How to disable right-click context-menu in javascript
(与密钥 #93 完全相同)。
** 请注意,这也会禁用右键单击 **。
编辑:
不确定这是否是跨浏览器(下面的更新代码似乎对 chrome 和 firefox 都有效,但没有尝试 IE 和其他浏览器),但事件是由键 #97 触发的好像被识别为1,而点击好像被识别为键3,所以你可以:
(function($){
if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {
$(document).on('keyup', function(e) {
e.which == 93 && e.preventDefault();
});
}
else {
document.oncontextmenu = function (e) {
e.which == 1 && e.preventDefault();
}
}
})(jQuery);
http://jsfiddle.net/0kkm1vq0/10/
只禁用按键而不是右键单击。
我想阻止键 #93 上的默认事件(select,在 alt gr 和 ctrl right 在 AZERTY 键盘上)。
此键打开右键菜单。
我试过了:
$(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;
}
});
没有任何效果...我一直都有上下文菜单。
查了一段时间后,我又转到了另一个与这个问题类似的问题,但问题却截然不同。
无论如何,由于问题出在上下文菜单上,您甚至不需要 jQuery 和解决方案(尽管它在 firefox 中并不总是有效,因为用户可能会设置它禁用这样的)是这个:
document.oncontextmenu = function (e) {
e.preventDefault();
return false;
}
fiddle:
http://jsfiddle.net/0kkm1vq0/3/
也适用于 chrome,您不需要使用键盘侦听器。
参考:How to disable right-click context-menu in javascript
(与密钥 #93 完全相同)。
** 请注意,这也会禁用右键单击 **。
编辑:
不确定这是否是跨浏览器(下面的更新代码似乎对 chrome 和 firefox 都有效,但没有尝试 IE 和其他浏览器),但事件是由键 #97 触发的好像被识别为1,而点击好像被识别为键3,所以你可以:
(function($){
if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {
$(document).on('keyup', function(e) {
e.which == 93 && e.preventDefault();
});
}
else {
document.oncontextmenu = function (e) {
e.which == 1 && e.preventDefault();
}
}
})(jQuery);
http://jsfiddle.net/0kkm1vq0/10/
只禁用按键而不是右键单击。