提问人:Invincible_Pain 提问时间:8/20/2023 更新时间:8/21/2023 访问量:35
在 Rails 应用程序中,我们如何处理动态出现的 DOM?
In Rails applications, how do we deal with the DOM that appears dynamically?
问:
所以大家都知道,JS 的一个技巧是,比如说,我们为这个页面上的所有按钮绑定了一个点击事件:
$(".btn").click(...)
<button class='btn'>A</button>
<button class='btn'>B</button>
然后突然通过JQuery追加或AJAX将按钮C添加到页面中,然后存在按钮C无法绑定该事件的问题,您可能需要在.js.erb左右执行此操作。
这很尴尬,我想知道有没有更好的方法来处理这个问题?谢谢
答:
0赞
Cjmarkham
8/20/2023
#1
使用 on 函数,我们可以将该事件委托给元素和在初始 DOM 加载后添加的任何元素。
$('body').on('click', '.btn', () => {
...
})
委托事件处理程序的优点是它们可以处理 来自添加到文档的后代元素的事件 稍后的时间
-1赞
Allacassar
8/21/2023
#2
在添加新按钮时,应将其与新按钮进行额外的绑定。 以下是对这个问题的讨论:动态创建的元素上的事件绑定?
评论