问候,
我正在使用 facebox 弹出 jquery 插件。在他们的 JS 中,他们有以下事件
/*
* Bindings
*/
$(document).bind('close.facebox', function() {
$(document).unbind('keydown.facebox')
$('#facebox').fadeOut(function() {
$('#facebox .content').removeClass().addClass('content')
hideOverlay()
$('#facebox .loading').remove()
})
})
它只是关闭弹出窗口。我想在这个 close.facebox 上挂上我自己的一些代码,以便进行测试和警报。
因此,在我网页上的 js 中,我执行了以下操作:
<script type="text/javascript">
// listen to close action on popup
// submit request
$("#request-submit").click(function(){
// Show popup
jQuery.facebox('something cool');
// Close Popup Hook
$(document).bind('close.facebox', function() {
alert("close action");
});
});
</script>
它看起来不错,但问题是它不能完美地工作:
在第一个弹出窗口中,关闭操作会在关闭时显示警报。在 Seconde 弹出窗口中,关闭操作会显示两个警报。在第三个弹出窗口中,关闭操作一个接一个地显示三个警报。
你明白了,这似乎是旧的 'Query.facebox('something cool');' 实例仍然在那里监听关闭事件。
有什么办法解决这个问题吗?谢谢 !