众所周知,JS 的第一个技巧是,我们为该页面上的所有按钮绑定一个单击事件:
$(".btn").click(...)
<button class='btn'>A</button>
<button class='btn'>B</button>
然后突然通过 JQuery 追加或 AJAX 将按钮 C 添加到页面,然后出现按钮 C 无法获取该事件绑定的问题,您可能必须在可能的 .js.erb 左右进行操作。
这很尴尬,我想知道有没有更好的方法来处理这个问题?谢谢
使用 on 函数,我们可以将该事件委托给元素以及初始 DOM 加载后添加的任何元素。
$('body').on('click', '.btn', () => {
...
})
委托事件处理程序的优点是可以处理 来自添加到文档中的后代元素的事件 稍后