Fancybox onComplete函数未运行

由于某种原因,它只是没有运行onComplete函数。 然而它确实加载了fancybox div。 我的HTML:

  

我的jquery:

  jQuery('li a').fancybox({ 'autoDimensions': 'false', 'width' : 631, 'height': 256, 'onComplete':function(){ alert('running'); jQuery('.fancybox-skin').css('background-color',colour); } }); 

警报不会运行。 我也尝试将事件函数更改为onClosed和其他事件,什么都没有。

我想你忘了指定你正在使用的fancybox版本。

onComplete是fancybox v1.3.x的回调选项,而fancybox-skin 是在2.x版本之前引入的,所以我假设您使用的是2.x版本,不是吗?

Fancybox v2.x选项是新的,与以前的版本不兼容; onComplete (v1.3.x)选项的等效项现在是afterLoad (v2.x)回调选项。

查看http://fancyapps.com/fancybox/#docs以获取fancybox v2.x的选项,方法和回调的完整列表

afterShow我认为是Fabxybox 2中onComplete的正确等价物

Fancybox版本2不支持onComplete 。 它使用afterLoad

 jQuery('#tips li a').fancybox({ 'autoDimensions': 'false', 'width' : 631, 'height': 256, afterLoad:function(){ alert('running'); jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo } }); 

好像错字

 jQuery('#tips li a').fancybox({ 'autoDimensions': 'false', 'width' : 631, 'height': 256, 'onComplete':function(){ alert('running'); jQuery('.fancybox-skin').css('background-color',colour); // colour to 'red' for example. typo } }); 

工作实例

使用afterLoad而不是onComplete