现在我有了这个,它可以工作:
$(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/