javascript - 如何使 event.srcElement 在 Firefox 中工作,它是什么意思?

标签 javascript firefox cross-browser

在我公司的网站上有一个 if 语句使得一个网页与 firefox 不兼容

if(event.srcElement.getAttribute("onclick") == null){ 
...code..
document.mainForm.submit();
}

我已经注释掉了 if 语句条件,现在它可以与 forefox 一起使用。我的问题是,什么是event.srcElement.getAttribute("onclick"),重要吗,以后会不会出问题。另外,有没有类似的东西我可以用它来替换条件,以便它在 Firefox 上工作?

编辑:

 function gotoRDManagerPT(PTId, bDDetailId) {
        if(!proceed()) return false;
        var target = event.target || event.srcElement; 
        if(event.target.getAttribute("onclick") == null) { 
            document.mainForm.displayRDManagerPT.value = "true";
            document.mainForm.PTId.value = PTId;
            document.mainForm.bDDetailId.value = bDDetailId;
            document.mainForm.submit();
        }
    }

最佳答案

srcElement 是最初来自 IE 的专有属性。标准化属性为 target :

var target = event.target || event.srcElement;

if(target.onclick == null) { // shorter than getAttribute('onclick')
    //...
    document.mainForm.submit();
}

另请查看 quirksmode.org - Event properties获取更多跨浏览器信息。


关于它在做什么的问题:

event.target/event.srcElement 包含对引发 event 的元素的引用。 getAttribute('onclick') == null 检查是否通过 inline event handling 将点击事件处理程序分配给元素.

重要吗?我们不能说,因为我们不知道 ...code.. 在做什么。

关于javascript - 如何使 event.srcElement 在 Firefox 中工作,它是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5301643/

相关文章:

javascript - 在 $scope.$on 事件中丢失此引用

google-chrome - 表中的最大宽度

css - Safari 包装中的 Flexbox 无法按预期工作

javascript - 将 JSON 中包含引号、URL 等的大型 Javascript 对象传递给 POST 调用

javascript - 在 Vue Ant Design 中使用 Modal.method() 的 onOk 属性

javascript - javascript 的 firefox14 中的奇怪结果

javascript - Ajax、后退按钮和 DOM 更新

firefox - 如何在Firefox中使鼠标按钮4/5(向后浏览器/向前浏览器)工作?

Jquery - 更改完整的 CSS(实习生)

javascript - 如何获取回调函数的所有参数