我在文档中定义了一个单击函数,单击时我想知道目标是否包含函数应返回的“下拉菜单”类。这就是 Firefox 中运行良好的方法:
$(document).click(function(e){
if (e.target.classList.contains('dropdown'))
return;
//Other work here;
});
但不知何故 IE 将 e.target
显示为 null
。在阅读了一些 IE 没有 target
用于点击事件但有 srcElement
的内容后,为了在两种浏览器中工作,我需要将其更改为:
(event.target || event.srcElement).id //etc
但是我需要获取类属性,有人知道如何在 IE 中“不使用 JQUERY”获取 srcElement
的类吗?
最佳答案
为什么不使用 JQuery API 函数 hasClass?
您应该能够替换
if(e.target.classList.contains('dropdown'))
与
if($(this).hasClass('dropdown'))
~~~~~~~~~~~~编辑~~~~~~~~~~
就此而言,如果我理解您在做什么,也许您应该重组整个事件处理程序(除非您出于效率原因这样做,有时人们会捕获更大的异常,然后找出单击的内容)
$('.dropdown').each(function () {
//Do some action
});
关于javascript - 从 Internet Explorer 中的单击事件中的 div 获取类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107903/