質問
私は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
});
解決
その代わりmyFunc()
利用myFunc
の。 JavaScriptでは、括弧(および/または引数)との機能は、あなたがそれを呼び出すようにしたいことを意味します。それらなしの関数名はあなただけ
他のヒント
この作品
$("#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!');
}
});
afterShowまたはbeforeShowを使用しているどのように動作させるために、最新の方法:
$("a#registrace").fancybox({
beforeShow : function() {
alert('its working!');
validate_reg_form();
}
});
私はAJAXを通じて登録フォームをロードしていると私は、フォームの検証を有効にする必要があります。両方の場合(前後)で、コンテンツが既にロードされている。
実際には、ドキュメントをチェックするには、あなたのオプションリストのタイプミスを持っている...
(小文字のb)にあなたがcallBackOnShow
ているが、それはcallbackOnShow
する必要があります。
これは次のようになります。 -
function myFunc() {
alert("Opened!");
}
$('.content a').fancybox({
'hideOnContentClick': false ,
'callBackOnShow': myFunc, // no brackets
'frameWidth': 920,
'frameHeight': 530
});
それとも、あなたは無名関数を作ることができます...
$('.content a').fancybox({
'hideOnContentClick': false ,
'callBackOnShow': function() { alert('hello'); },
'frameWidth': 920,
'frameHeight': 530
});
'callbackOnShow': myFunc
オプションとして下ケースB、大文字と小文字が区別され そしてmyFuncというには括弧は、オプションとしての機能を渡したいと、それを呼び出すません。
あなたのタイトルは「jqueryの - fancyboxとコールバック」言うように、あなたは、タブのコールバックの下にfancybox 2プラグインのコールバックオプションの完全なリストは、
。http://fancyapps.com/fancybox/#docsする
あなたは新しいプラグインは、より多くのコントロールで、より優れた機能を備えていて、多分fancybox2にアップグレードします。
、古いfancyboxを使用している場合所属していません StackOverflow