Fancybox onComplete函数未运行

Cla*_*ire 6 jquery fancybox

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

<ul>
    <li class="orange">

           #1 <a href="#text">click here</a>

           <div id="text" class="text">text text text</div>

    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的jquery:

 jQuery('li a').fancybox({       
    'autoDimensions':   'false',
    'width' :   631,
    'height':   256,        
    'onComplete':function(){

        alert('running');
        jQuery('.fancybox-skin').css('background-color',colour);
    }
});
Run Code Online (Sandbox Code Playgroud)

警报不会运行.我也尝试将事件功能更改onClosed为其他事件,而没有任何事情.

JFK*_*JFK 18

我猜你忘了指定你正在使用的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`会更有意义.`afterLoad`一旦准备加载_before_就会立即触发它显示任何内容 (2认同)

Jun*_*ura 7

afterShow我认为是onCompleteFabxybox 2中的正确等效物


agr*_*boz 0

好像错字

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
}
});
Run Code Online (Sandbox Code Playgroud)

工作示例