Shift-F10,阻止 Firefox 中的上下文菜单
Shift-F10, prevent context-menu in Firefox
在我的应用程序中,我有一个 SHIFT-F10 键盘处理程序,如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script>
$(document).on('keyup keydown', function(e) {
if (e.keyCode === 121 && e.shiftKey === true) {
console.log('shift-f10 detected');
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
}
});
</script>
</body>
</html>
但是,在最新版本的 Firefox(至少 FF56)中,上下文菜单出现在页面的右上角:
我禁用上下文菜单失败:
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
有没有办法阻止此上下文菜单出现?
尝试下一个代码:
$document.on('contextmenu', (ev) => {
return false;
});
或:
$(document).on('keydown', function(e) {
if (e.keyCode === 121 && e.shiftKey === true) {
return false;
}
});
也许你可以使用:
document.body.addEventListener('keydown',function(ev){
if (ev.keyCode === 121 && ev.shiftKey === true)
{
ev.preventDefault();
}
});
如果此代码不起作用 - 焦点未在浏览器中定位,或者您有其他错误。尝试代码。
在我的应用程序中,我有一个 SHIFT-F10 键盘处理程序,如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script>
$(document).on('keyup keydown', function(e) {
if (e.keyCode === 121 && e.shiftKey === true) {
console.log('shift-f10 detected');
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
}
});
</script>
</body>
</html>
但是,在最新版本的 Firefox(至少 FF56)中,上下文菜单出现在页面的右上角:
我禁用上下文菜单失败:
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
有没有办法阻止此上下文菜单出现?
尝试下一个代码:
$document.on('contextmenu', (ev) => {
return false;
});
或:
$(document).on('keydown', function(e) {
if (e.keyCode === 121 && e.shiftKey === true) {
return false;
}
});
也许你可以使用:
document.body.addEventListener('keydown',function(ev){
if (ev.keyCode === 121 && ev.shiftKey === true)
{
ev.preventDefault();
}
});
如果此代码不起作用 - 焦点未在浏览器中定位,或者您有其他错误。尝试代码。