我在Firefox 50.1.0上试图阻止菜单栏下拉(通过JS),这也是在按下alt键的同时按下一个键(例如s)触发的。
我尝试过preventDefault,stopPropagation和consorts但是无法以任何方式让它工作。我在这里或其他地方找不到任何有用的例子。
我试过的最明显的路径,但是没有用。
document.onkeydown = function (e) { e.preventDefault(); };
具有onkeypress或其他DOM元素的变体也不会。
有人可以向我提供一个vanilla JS示例,该示例禁用/阻止Firefox上的alt-s或类似的默认操作吗?
谢谢!
答案 0 :(得分:1)
我认为在较新版本的Firefox上已禁用此功能。关于它的bugtracker近10年来一直在争论,最近又被重新开放了。
没有理由你的功能不起作用,我也没有成功使用更具体的event.altKey或其他一些排列。
如果你想确认我建议尝试使用旧版本的FF。
编辑:鉴于lleaff的评论之一,您使用的操作系统是什么?
答案 1 :(得分:0)
当用户关注页面时,您的解决方案有效。 当焦点不在网页istelf上时(例如,如果用户点击了地址栏),则无法阻止此行为。
答案 2 :(得分:0)
请注意,某些浏览器不允许您捕获某些快捷方式! Mozilla Firefox中 Alt + s 快捷方式的一个工作示例(版本:51.0.1,Linux ):
onkeydown = function(e){
if(e.altKey && e.keyCode == 83){
e.preventDefault();
alert("Shotcut Pressed")
}
}