Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery on click事件,在第二次单击时打开,而不是初始单击时打开_Jquery_Onclick_Modal Dialog - Fatal编程技术网

jquery on click事件,在第二次单击时打开,而不是初始单击时打开

jquery on click事件,在第二次单击时打开,而不是初始单击时打开,jquery,onclick,modal-dialog,Jquery,Onclick,Modal Dialog,我觉得我错过了一些简单的事情。当模态对话框被动态添加到DOM中时,我无法使其工作。它在第二次单击时起作用,但在第一次单击时不起作用 我如何让它在第一次点击时启动?任何想法都很感激。 谢谢 $(“page3placeholder”)。在(“单击”,“打开弹出窗口”,函数(){ $(this.magnificPopup({blah blah}); }); 要添加到dom的代码 $("#page3placeholder").html('<button id="open-popup" style

我觉得我错过了一些简单的事情。当模态对话框被动态添加到DOM中时,我无法使其工作。它在第二次单击时起作用,但在第一次单击时不起作用

我如何让它在第一次点击时启动?任何想法都很感激。 谢谢

$(“page3placeholder”)。在(“单击”,“打开弹出窗口”,函数(){ $(this.magnificPopup({blah blah}); }); 要添加到dom的代码

 $("#page3placeholder").html('<button id="open-popup" style="margin-top:100px; margin-left:100px;" style="display:none;"  >Open popup</button>');
$(“#page3placeholder”).html(“打开弹出窗口”);

您可能会发现
$(“#page3placeholder”)的用法。单击(函数(){$(#打开弹出窗口).foo…}
更易于使用/更清晰

单击时,是否有任何不可见的元素会在第一次单击时消失?
i、 e.是“#打开弹出窗口”在
ocupacity:0

不是100%清楚的情况下,你能发布完整的代码吗?你能发布将其添加到Dom的代码吗?在你的插件调用之前在click handler中放置一个警报…看看问题是出在
.magnificPopup
还是你的click handler上。我做了一个警报,但在第一次单击时它确实触发了模态对话框不会启动OP声明“当模态对话框被动态添加到DOM中时,我无法使其工作。”您的示例不适用于动态添加的元素。您基本上可以将事件分配给任何元素,无论它们是否是动态添加的。这只是时间问题。在它出现之前,您不能分配给它。这很清楚,不是吗?您应该使用
.on()
的事件委派语法来管理动态添加的元素。除非在正在添加的元素的回调中执行,否则您发布的代码将无法工作。
 $("#page3placeholder").html('<button id="open-popup" style="margin-top:100px; margin-left:100px;" style="display:none;"  >Open popup</button>');