我对 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;
}
});
这会引发错误——“测试未定义”。根据我的理解,这似乎是变量范围的问题test
。但是,test
已在内部声明jQuery(document).ready(function($)
,因此应该对内部的函数全局可用jQuery(document).ready(function($)
。我在这里做错了什么?