PreventDefault 不适用于 Safari 5.0.4 中的 keydown
我有以下代码,绑定 Alt+b 执行某些操作:
(function(jQuery){
$(document).ready(function() {
$(document).bind('keydown', 'alt+b', function(event) {
// do stuff
event.preventDefault();
});
});
})( jQuery );
在 PC 上使用 Safari 浏览器(v5.0.4)时,这会触发菜单显示(书签)。有没有办法阻止这种行为?在这种情况下,preventDefault 适用于 Chrome 和 Firefox。我也尝试过“返回 false”,但它也不起作用。
注意:在我第一次使菜单可见之前,我的代码似乎一直有效。之后,即使菜单隐藏,Alt+b 也会触发书签显示。
I have the following code that binds Alt+b to do something:
(function(jQuery){
$(document).ready(function() {
$(document).bind('keydown', 'alt+b', function(event) {
// do stuff
event.preventDefault();
});
});
})( jQuery );
When using Safari browser (v5.0.4) on PC this triggers the menu to show (Bookmarks). Is there a way to prevent this behavior? preventDefault works with Chrome and Firefox in this case. I also tried to 'return false' but it doesn't work either.
Note: it seems that my code works until I've made the menu visible for the first time. After that Alt+b triggers the bookmarks to show even if the menu is hidden.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我没有您的 Safari 版本(我无法测试),但您可以尝试一下 http:// /jsfiddle.net/LnvGR/2/
读取所有键,然后检查组合并调用preventDefault();
I don't have your version of Safari (I couldn't test) but you can give this a try http://jsfiddle.net/LnvGR/2/
Reading all keys, then checking for the combination and calling preventDefault();
试试这个:
在 safari 中测试,它不会触发书签。
Try this:
Tested in safari, and it doesn't trigger bookmarks.