我正在尝试编写一个简单的 jQuery 插件,但我遇到了一个绊脚石,因为我不确定如何从该插件的方法中访问该插件上的变量。
(function($) {
$.fn.testPlugin = function() {
var testVar = "Hello World";
alert(testVar);
$.fn.testPlugin.testMethod();
};
$.fn.testPlugin.testMethod = function() {
alert($.fn.testPlugin.testVar);
};
}(jQuery));
$("body").testPlugin();
此代码首先提示“Hello World”,然后提示“undefined”(因此尝试从方法中访问它会返回一个空变量),是否有任何方法可以从 testMethod 中访问 testVar?这不可能吗?我是不是以错误的方式解决了这个问题?
最佳答案
您可以将变量放在外部作用域——您的自调用函数的作用域。
(function($) {
var testVar;
$.fn.testPlugin = function() {
testVar = "Hello World";
alert(testVar);
$.fn.testPlugin.testMethod();
};
$.fn.testPlugin.testMethod = function() {
alert(testVar);
};
}(jQuery));
$("body").testPlugin();
例如,如果您不希望除您的插件之外的任何其他代码可以访问您的变量,这可能是更理想的方法。 fiddle :http://jsfiddle.net/79sg8es1/ .
关于javascript - 如何从方法内访问 jQuery 插件变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25361467/