Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 事件委派(检查e.target是否存在,为什么?)_Javascript_Events - Fatal编程技术网

Javascript 事件委派(检查e.target是否存在,为什么?)

Javascript 事件委派(检查e.target是否存在,为什么?),javascript,events,Javascript,Events,我遇到了这段代码: if(e.target && e.target.nodeName == "LI") { // do stuff } 在这方面 document.getElementById("parent-list").addEventListener("click", function(e) { if(e.target && e.target.nodeName == "LI&q

我遇到了这段代码:

if(e.target && e.target.nodeName == "LI") { // do stuff } 
在这方面

document.getElementById("parent-list").addEventListener("click", function(e) {
    if(e.target && e.target.nodeName == "LI") {
        console.log("List item ", e.target.id.replace("post-", ""), " was clicked!");
    } 
});   

我理解第二次检查,即节点名是否为“LI”,但我不理解第一次检查的原因。为什么要检查e.target是否真实/存在。如果代码达到了这一点,它就不能保证存在吗?为了触发click侦听器,必须发生click,这意味着e.target必须存在。我错过了什么?此检查的意义是什么?

由于事件接口的属性是对发送事件到的对象的引用,因此不一定需要第一次检查。

由于事件接口的属性是对发送事件到的对象的引用,因此不一定需要第一次检查必需。

有些程序员是偏执狂。有些程序员是偏执狂。