问候,
我正在使用facebox popup 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上挂一些我自己的代码,以便测试和提醒。
因此,在我的网页上,我做了以下内容:
<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('酷酷');'实例仍在那里收听关闭事件。
有什么方法可以解决这个问题? 谢谢!
答案 0 :(得分:0)
我做了以下,
On the JS lib
$(this).trigger('pre_close.facebox');
// Close alert
$(document).bind('pre_close.facebox', function() {
alert("close action");
$(document).unbind('pre_close.facebox');
});
但这不太好,因为我必须破解默认的facebox lib。