微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 有没有办法阻止HTML的accesskey =“”被激活?

我试过preventDefault()但我没有成功.有没有我失踪的东西?

如果可能,我会尝试全局禁用它(如在窗口上注册事件)

解决方法

似乎没有办法阻止事件触发.唯一的选择似乎是暂时删除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'))

我会对实际阻止事件而不是使用此解决方法解决方案感兴趣.

原文地址:https://www.jb51.cc/js/151993.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐