首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery单击事件不触发以前隐藏的div

问Jquery单击事件不触发以前隐藏的div
EN

Stack Overflow用户
提问于 2012-11-14 14:33:01
回答 2查看 9.3K关注 0票数 0

我正在加载一个‘密码重置-成功-消息’div到一个‘密码重置’div动态显示在下面的片段。‘密码重置-成功消息’div隐藏在页面加载,并被覆盖到‘密码重置’div如下所示。

代码语言:javascript
复制
    $("#password-reset").html($("#password-reset-success-message").html());

现在‘密码重置-成功消息’div有一个'btnPasswordResetOK‘按钮,它将关闭密码重置模式dialog.But,这个click()事件没有被绑定。我没有收到警告信息。我正在做所有这些包装在文档中准备好。

代码语言:javascript
复制
     $(document).ready(function(){  

       $("#btnPasswordResetOK").click(function() {

         alert();
       });

    });

注意:This question is almost similar to my question..but没有答案。

更新:在用隐藏的div更新html之后绑定的!,下面的代码片段

代码语言:javascript
复制
      $("#password-reset").html($("#password-reset-success-message").html());

       $("#btnPasswordResetOK").click(function() {

            alert();
       });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-14 14:40:34

将其委托给要向其添加html的父元素。

如果将jQuery 1.7+与.on()一起使用

代码语言:javascript
复制
$("#password-reset").on('click','#btnPasswordResetOK',function(){

})

带委托

代码语言:javascript
复制
$("#password-reset").delegate('#btnPasswordResetOK','click',function(){

})

从jQuery文档中可以使用哪种方法

$(选择器).live(事件、数据、处理程序);// jQuery 1.3+ $(Document).delegate(选择器、事件、数据、处理程序);// jQuery 1.4.3+ $(Document).on(事件、选择器、数据、处理程序);// jQuery 1.7+

通过委托,您可以将事件处理程序绑定到一个静态父元素,该父元素在绑定时不会更改并存在。指定要侦听的元素和事件,当事件冒泡时,它将由静态父元素处理。

票数 3
EN

Stack Overflow用户

发布于 2012-11-14 14:38:25

代码语言:javascript
复制
$(selector).live(events, data, handler);                // jQuery 1.3+
$(document).delegate(selector, events, data, handler);  // jQuery 1.4.3+
$(document).on(events, selector, data, handler);        // jQuery 1.7+

触发就绪事件时,页面上的内容不存在。动态生成元素和内容,因此必须使用活动/on事件处理程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13380795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档