如何在选择的按钮上动态/不断地绑定jQuery事件处理程序

How to dynamically/constantly bind jQuery eventhandler on a selection of buttons?

本文关键字:绑定 jQuery 程序 事件处理 动态 选择 按钮      更新时间:2023-09-26

我正在寻找一种将带有jQuery的点击事件处理程序绑定到div容器的方法。

虽然这个div容器每10秒被重新渲染一次,jQuery丢失了与div容器的绑定。

如何防止这种情况发生?

这就是我的div容器的样子:

<div id="container">    
<h:panelGroup id="panel" layout="block">
    <h:form id="form">                                              
            <div class="wrap">
                    <div class="call-button" rel="#overlay"></div>      
            </div>              
    </h:form>
</h:panelGroup> 

这里有一些Javascript:

$('div.call-button[rel]').on('click').overlay({
                    //show overlay
                });

感谢您的帮助

事件委托:

$("div.wrap").on("click", "div.call-button[rel]", function() {

使用事件委派,因为您正在处理动态元素委派

$('#container').on('click', '.call-button[rel]', function(){
    //click handler
})

try:

$('body').on('click','div.call-button[rel]', function(){
    //click handler
})