javascript - IE e.target.id 不起作用

标签 javascript internet-explorer

document.click = check;

function check(e)
{ 
    var obj = document.getElementById('calendar_widget');

    if (obj != 'null')
    {
        if (e.target.id != 'show_calender')
            obj.style.display='none';
    }
}

Internet Explorer 中出现错误:e.target.id 未定义。

最佳答案

IE 不支持 target 属性,它们使用 srcElement 代替。

更改:

if (e.target.id != 'show_calender')

至:

if ((e.target || e.srcElement).id != 'show_calender')

您可能还需要将其添加到函数的开头:

if (!e) e = window.event

您的最终代码将如下所示:

function check(e) { 
    if (!e) e = window.event;
    var obj = document.getElementById('calendar_widget');

    if (obj != 'null') {
        if ((e.target || e.srcElement).id != 'show_calender')
                obj.style.display='none';
    }
}

关于javascript - IE e.target.id 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1143196/

相关文章:

java - ntlm认证失败后IE7表单认证

PHP/Session/IE : Constant are saved, 变量不存在

java - 运行 ActiveX 对象而不在浏览器选项中允许它

javascript - 将 web sql 结果显示为 html<li>

javascript - val ("text") 未将选项设置为选中

internet-explorer - X-UA-Compatible "IE=EmulateIE7"在 IE10 和 IE11 中工作吗?

javascript - IE 给出 “Function expected” 错误

javascript - 未捕获类型错误 : Cannot read property 'owlCarousel' of null

javascript - Puppeteer page.evaluate 未正确返回

javascript - 使用循环的 Node js 和 ejs