私のjQueryの経験は限られているため、言葉遣いが間違っている場合は質問を自由に編集してください。
プラグインを開始している間、私はそれを変数に割り当てています:
var test = $('.fancybox').fancybox({
padding : 0,
margin : 10,
closeBtn : false
});
今、プラグインのインスタンスにアクセスして、そのメソッドを次のように呼び出そうとしています:
$(document).on('keyup', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 40) {
test.cancel();
return false;
}
});
これにより、「テストは未定義です」というエラーがスローされます。私の理解によると、これは variable のスコープに問題があるようですtest
。ただし、test
は の内部で宣言されているjQuery(document).ready(function($)
ため、 の内部の関数でグローバルに使用できる必要がありますjQuery(document).ready(function($)
。ここで何が間違っていますか?