我一直在寻找解决方案但没有成功。 我正在使用jQuery插件,并希望扩展其功能。
该插件具有与此类似的标记;
(function($) {
$.pluginToExtend = function (options) {
var $foo = 'Hello', $bar = 'World';
function fooBar( ){
console.log('foo = '+foo+'. bar = '+bar+'.');
}
this.fooBar = fooBar;
}
})(jQuery)
我想扩展插件并访问其内部值。 我正在做的事情是访问内部值。 我很难找到这个答案。
我跑;
var holder = $('#element').pluginToExtend( );
(function($) {
holder = $.extend(holder, {
extendedMethod: function(input){
console.log(this); //logs the object correctly
console.log(this.fooBar( )); //return the methods output correctly
console.log(this.foo); //undefined
console.log(foo);//javascript error
}
})
})(jQuery)
holder.extendedMethod( );
为什么扩展方法无法以与其他方法访问变量相同的方式访问变量? 我如何访问这些变量?
有更好的解决方案吗?我缺少的东西?