在一个非常常见的场景中,我有一个带有“添加”按钮的HTML页面,它打开一个模态对话框(通过Facebox),并要求用户从列表中选择一个项目。
模态对话框异步从服务器获取其HTML片段。我希望这个代码段可以在我的应用程序的许多部分重用,所以它不应该假设我使用Facebox来加载它。它应该做的唯一事情是每当用户选择其中的项目时触发item-selected
事件。但由于代码段是异步加载的,因此我无法使用$(document).ready
。也就是说,我无法触发这样的事件:
$(document).ready(function() {
$(".item").click(function() {
$(".items-modal-dialog").trigger("item-selected", this);
});
});
另外,我真的不喜欢使用items-modal-dialog
类来识别封闭的DOM元素。
我想出了一些解决方案,我想知道是否有一些我缺少的优秀模式,因为我认为这是一个非常普遍的问题。
items-modal-dialog
DIV,因此我不必使用类来识别它。$(document).ready
。任何建议都将不胜感激。
答案 0 :(得分:1)
在我看来,使用jQuery的live或delegate函数是最好的解决方案。