现在我有了这个,它有效:
$(document).on('mouseenter', 'td', mouseEnter)
function mouseEnter() {
}
但我认为这会将事件监听器附加到每个表格单元格。
问:我怎么写它才能使用1个监听器?答案 0 :(得分:2)
这是一个倾听者。此代码将附加到每个表格单元格:
$("td").on("mouseenter", function(e) {
//do stuff
});
您的代码是正确的。实际上,会发生的事情是mouseenter事件通过DOM“冒泡”直到它的顶部,即“文档”。当它到达那里时,你的代码会检查事件的来源,并且只有当它是TD元素时才会触发。
这一点特别好,因为即使您在文档中添加了新的TD,它仍然适用 - 这个监听器将在不需要再执行“on”的情况下接收mouseenter事件。
答案 1 :(得分:1)
您可以使用mouseover event并将其附加到您的表格中,但不会将其附加到单元格中,因此每当您输入表格的任何单元格时,都会触发此事件