Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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事件_Javascript_Html_Events - Fatal编程技术网

附加的节点不会触发JavaScript事件

附加的节点不会触发JavaScript事件,javascript,html,events,Javascript,Html,Events,我有一份清单,里面有一些插槽。通过客户端的一些操作,通过appendChild函数将新项目添加到这些插槽中 追加之后,需要将事件侦听器添加到新元素中,因为最初创建事件侦听器时它不存在。追加之后,需要将事件侦听器添加到新元素中,因为它在最初创建事件侦听器时不存在。在创建新构造的元素后,需要将处理程序添加到该元素中 var items = document.querySelectorAll(".item"); function attachMouseOverHandler(element) {

我有一份清单,里面有一些插槽。通过客户端的一些操作,通过
appendChild
函数将新项目添加到这些插槽中



追加之后,需要将事件侦听器添加到新元素中,因为最初创建事件侦听器时它不存在。

追加之后,需要将事件侦听器添加到新元素中,因为它在最初创建事件侦听器时不存在。

在创建新构造的元素后,需要将处理程序添加到该元素中

var items = document.querySelectorAll(".item");

function attachMouseOverHandler(element) {
    element.addEventListener("mouseover", mouseOverHappened);
}
items.forEach(attachMouseOverHandler);

function addNewElement(element) {
    attachMouseOverHandler(element);
}

创建新构造的元素后,需要将处理程序添加到该元素中

var items = document.querySelectorAll(".item");

function attachMouseOverHandler(element) {
    element.addEventListener("mouseover", mouseOverHappened);
}
items.forEach(attachMouseOverHandler);

function addNewElement(element) {
    attachMouseOverHandler(element);
}

下面是一个使用单个延迟事件侦听器的解决方案,因此您不必动态添加新的事件侦听器:

document.getElementById('letters').addEventListener('mouseover',函数(事件){
常量元素=event.target;
如果(!element.matches('.item'))返回;
//东西
log(element.textContent.trim());
})

福
我不匹配。项目
酒吧

这里有一个使用单个延迟事件侦听器的解决方案,因此您不必动态添加新的事件侦听器:

document.getElementById('letters').addEventListener('mouseover',函数(事件){
常量元素=event.target;
如果(!element.matches('.item'))返回;
//东西
log(element.textContent.trim());
})

福
我不匹配。项目
酒吧

添加即时事件时,该项不存在。。它没有添加事件。使用延迟/冒泡事件(即查看jQuery的功能)或将事件添加到每个[新创建的]项中。我还认为,您应该将事件显式添加到新创建的元素中。因此,添加即时事件时,该项不存在。。它没有添加事件。使用延迟/冒泡事件(即查看jQuery的功能)或将事件添加到每个[新创建的]项中。我还认为,您应该显式地将事件添加到新创建的元素中。