作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试了 preventDefault()
但没有成功。有什么我想念的吗?
如果可能的话,我会尝试全局禁用它(比如在 window
上注册事件)
最佳答案
似乎没有办法阻止事件的触发。唯一的选择似乎是在您不希望它们工作时暂时删除 accesskey 属性。这就是jQuery UI has to do for modal dialogs .
这是该线程的代码:
$("#boxA-dialog").dialog({
autoOpen: false,
modal: true,
height: 400,
width: 300,
open: function(event, ui) {
ak = $('[accesskey]').each(function() {
$(this).data('ak', $(this).attr('accesskey')).removeAttr('accesskey')
})
},
close: function(event, ui) {
ak.each(function() {
$(this).attr('accesskey', $(this).data('ak'))
})
}
});
如您所见,它在删除 accesskey 属性之前将它们保存到 jQuery 数据中:
$(this).data('ak', $(this).attr('accesskey')).removeAttr('accesskey')
然后从数据中恢复它们:
$(this).attr('accesskey', $(this).data('ak'))
我对实际阻止事件的解决方案感兴趣,而不是使用此解决方法。
关于javascript - 有没有办法阻止 HTML accesskey =""被激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670735/
我是一名优秀的程序员,十分优秀!