jquery:click事件处理程序不会触发以前隐藏的元素

时间:2014-07-31 22:37:32

标签: jquery

$(document).on('click', '*', function (e) {
    alert('clicked');
});

它适用于当前页面上的所有元素,但是,当我单击一个元素时,它会呈现之前隐藏的div元素,它不会让我单击它。

如何捕获以前隐藏的元素上的click事件?

1 个答案:

答案 0 :(得分:1)

已为已加载的项目注册click事件。动态添加的任何元素似乎都没有注册该事件,因此click事件将不起作用。至少,我之前遇到过这个问题。但以下将解决它。

 $(".hiddenFieldIdentifier").on("click",function(){
 {
       //alert('Yes it worked!');
 });

请注意占位符:hiddenFieldIdentifier

查看“on”JQuery API文档

编辑:  看起来这类似于:Jquery click event not firing on previously hidden div

在用户添加指向其代码的链接后添加此内容: 它按原样工作,但你是否有任何理由注册点击甚至任何元素点击? 这是我得到的:enter image description here 正如你所看到的,它起作用了。但是,仅为预期的元素注册click事件会很好。现在,点击任何地方都会触发事件。我猜测可能会检查“防止此页面创建其他对话框”标志。尝试新选项卡或重新启动浏览器以重新启用它并进行测试。 再次,您的代码将继续显示该对话框,除非您单击此标志,这将阻止对话框再次显示。

希望它有所帮助 快乐的编码!