现在我有了这个,它可以工作:

$(document).on('mouseenter', 'td', mouseEnter)
function mouseEnter() {
}


但是我认为这是将事件侦听器附加到每个表单元格。

问:如何编写它以便仅使用1个侦听器?

最佳答案

那是一个听众。此代码将附加到每个表单元格:

$("td").on("mouseenter", function(e) {
    //do stuff
});


您的代码是正确的。实际上,发生的事件是mouseenter事件在整个DOM中“冒泡”,直到它成为顶部(即“文档”)为止。当它到达那里时,您的代码将检查以查看事件的来源,并且仅在它是TD元素时才触发。

这特别好,因为即使将新的TD添加到文档中,它仍然适用-该侦听器将拾取mouseenter事件,而无需执行其他“ on”操作。

关于javascript - 使用一个监听器而不是数百个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31234881/

10-13 01:54