在Rails应用程序中,我们如何处理动态出现的DOM?

问题描述 投票:0回答:1

众所周知,JS 的第一个技巧是,我们为该页面上的所有按钮绑定一个单击事件:

$(".btn").click(...)

<button class='btn'>A</button>
<button class='btn'>B</button>

然后突然通过 JQuery 追加或 AJAX 将按钮 C 添加到页面,然后出现按钮 C 无法获取该事件绑定的问题,您可能必须在可能的 .js.erb 左右进行操作。

这很尴尬,我想知道有没有更好的方法来处理这个问题?谢谢

jquery ruby-on-rails ajax
1个回答
0
投票

使用 on 函数,我们可以将该事件委托给元素以及初始 DOM 加载后添加的任何元素。

$('body').on('click', '.btn', () => {
  ...
})

委托事件处理程序的优点是可以处理 来自添加到文档中的后代元素的事件 稍后

© www.soinside.com 2019 - 2024. All rights reserved.