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