我正在使用一个定义了单个模式的页面(“#agenda-modal”)。单击触发器(.agenda-item)时,我将显示带有远程内容的此模式,如下所示:
$("body").on("click", ".agenda-question", function(e){
var url = <build my url here>;
$("#agenda-modal").modal({
remote: url
});
});
这很好用(我正在使用收听 $body.on 因为 .agenda-items 是通过 javascript 添加的)。
当模态关闭时,我想重新加载页面的一部分(模态内部的表单修改的部分)。所以我正在使用:
$("#agenda-modal").on("hidden", function(){
alert("hidden");
});
当然,一切都包裹在
$(function() {...});
这有效,但只有一次!当我第一次加载页面并单击触发器时,模式会加载并且当我关闭模式时会发生警报。如果我再次单击相同的触发器,模式会再次显示,但这次关闭警报时不会发生!
我不知道,但这是因为监听器 - on("hidden", function...) - 不再“绑定”了吗?我以为 .on 总是能赶上这个事件?
模态的代码直接来自推特:
<div class="modal hide fade" id="agenda-modal">
<div class="modal-body"></div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal">Close</button>
</div>
</div>
有任何想法吗?我真的很想在模态关闭时捕捉到,以便我可以更新页面中已更改的部分。
顺便说一句,使用rails,不确定这是否重要......