我正在使用orangeBox lightbox并在页面加载时自动加载视频 - 效果很好。
我想要发生的事情是,当视频(在orangeBox中)关闭时 - 页面上会发生其他事情,但我无法使用on-close方法工作。
由于某种原因,该方法会在页面加载时触发,当我尝试将其绑定到ob窗口时 - 什么都不会触发。
有人可以看看我有什么 - 也许我说错了吗?
这是我的代码:
$(function(){
function autoOpen(){
$('#autoOpen').orangeBox('create');
}
function checkOB(){
if ($("#ob_window").length) {alert("OB closing");}
}
function checkOB2(){
alert("OB closing");
}
function starting(){
alert("OB starting");
}
$(document).bind('oB_closing', checkOB());
$(document).bind('oB_closed', checkOB2());
$(document).bind('oB_init', starting());
setTimeout(autoOpen,500);
});
谢谢!
答案 0 :(得分:0)
你需要传递函数"指针",而不是它的返回值:
$(document).bind('oB_closing', checkOB);
$(document).bind('oB_closed', checkOB2);
更新了小提琴:http://jsfiddle.net/qPEPB/3/
通过向函数名称添加()
,您只需执行它们,并将它们的返回值指定为事件处理程序。
通过删除括号,它会在您将指针传递给函数时按预期工作,然后该指针由orangeBox的内部代码使用。