Jquery - fancybox和回调

sas*_*asa 8 jquery fancybox

我有fancybox的问题.
我想编写一个在fancybox打开时运行的函数.如何以及何时调用该功能?

例:

function myFunc() {
    alert("Opened!");
}

$('.content a').fancybox({ 
    'hideOnContentClick': false ,
    'callBackOnShow': myFunc(), // This not working! It call function when page is loaded
    'frameWidth': 920,
    'frameHeight': 530
});
Run Code Online (Sandbox Code Playgroud)

Mat*_*ggs 24

而不是myFunc()使用myFunc.在javascript中,带有parens(和/或args)的函数意味着你想要调用它.没有它们的函数名称意味着你只想要一个对该函数的引用(这可能是fancybox想要的)


Gab*_*iel 10

这有效

$("#element").fancybox({
    onStart     :   function() {
        return window.confirm('Continue?');
    },
    onCancel    :   function() {
        alert('Canceled!');
    },
    onComplete  :   function() {
        alert('Completed!');
    },
    onCleanup   :   function() {
        return window.confirm('Close?');
    },
    onClosed    :   function() {
        alert('Closed!');
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 我想知道,为什么最初的回调不起作用:http://fancyapps.com/fancybox/#docs (2认同)

Qwe*_*rty 10

如何使其工作的最新方式是使用afterShow或beforeShow:

$("a#registrace").fancybox({
  beforeShow   : function() {
    alert('its working!');
    validate_reg_form();
  }
});
Run Code Online (Sandbox Code Playgroud)

我正在通过ajax加载注册表单,我需要启用表单验证.在这两种情况下(之前和之后),内容已经加载.