【发布时间】:2012-04-23 12:29:59
【问题描述】:
有很多与我的这个问题标题几乎相似的问题,但你知道我没有找到答案。
我的简单问题是:
我有按钮,当我点击它时,javascript 会创建模态窗口
<div class="aui-dialog">
html here...
<button id="closeButton">Close</button>
</div>
就在<body> 标记之后。
我可以使用 jQuery live 毫无问题地绑定关闭按钮的单击事件:
$("#closeButton").live("click", function() {
alert("asdf"); // it calls
$("body").find(".aui-dialog").remove();
});
我的问题是,我无法通过类名选择动态创建的模态窗口 div。这样我就可以调用 jQuery .remove() 方法来进行关闭操作。现在我知道了,我必须以另一种方式处理动态元素。
什么方法?
编辑:
我认为提及这一点很重要:
我自己不创建模态窗口,我使用liferay 门户。它具有创建该模式窗口的内置 javascript 框架 AUI(YUI)。我可以在它的视图中创建那个关闭按钮。
编辑 2:
模态窗口div类属性值为:“aui-component aui-panel aui-dialog aui-widget-positioned”
【问题讨论】:
-
您如何构建该模式?该按钮相对于模态是否处于固定位置?
-
可以改模态窗口HTML源代码吗?因为如果是的话,你不能在包装
<div>中添加一个id="modal-window",然后使用$("#modal-window").remove();吗? -
对我来说似乎工作正常FIDDLE ??
-
@sp00m 我无法创建自己,我使用 liferay 门户,内置的 javascript 框架创建了该模式窗口。我可以在它的视图中创建那个关闭按钮。
-
@AlmasAdilbek 那么我的
$(this).parent().remove();解决方案应该可以工作。
标签: javascript jquery jquery-selectors dynamically-generated