javascript - 从 Internet Explorer 中的单击事件中的 div 获取类

标签 javascript internet-explorer class click

我在文档中定义了一个单击函数,单击时我想知道目标是否包含函数应返回的“下拉菜单”类。这就是 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/

相关文章:

c++ - 指针内存分配失败

javascript - Angular JavaScript 中的异步调用

javascript - 动态添加的 SELECT 元素不会在 Internet Explorer 中触发 onchange 事件

internet-explorer - Internet Explorer 和 Visual Studio 2008 出现 document.createElementNS 错误

c++ - 在 C++ 中作为函数的成员属性

c++ - 如何在 C++ 的类中定义常量数组?

javascript - 可以从 JavaScript 网络 worker 调用 ActionScript 函数吗?

php - 在javascript中生成php?

javascript - 将表格或 td 标签的内容设为粗体

internet-explorer - 当路径重叠时,Internet Explorer 发送错误的 cookie