Javascript 我可以获得jQuery插件中创建的对象的引用吗?
也许我的大脑被炸了,但我正在写一个插件,它创建了一个调整元素,但也创建了一个我想访问的对象。这个插件看起来像这样Javascript 我可以获得jQuery插件中创建的对象的引用吗?,javascript,jquery,Javascript,Jquery,也许我的大脑被炸了,但我正在写一个插件,它创建了一个调整元素,但也创建了一个我想访问的对象。这个插件看起来像这样 (function ($) { $.fn.myPlugin = function () { return this.each(function () { // do some stuff to the element... this.objectInstance = new usefulObject(); });
(function ($) {
$.fn.myPlugin = function () {
return this.each(function () {
// do some stuff to the element...
this.objectInstance = new usefulObject();
});
};
})(jQuery);
function usefulObject(){
// useful object properties and methods....
this.doSomething = function(){
alert("Don't google Google. You'll break the internet.");
}
}
因此,当我调用插件时,我还希望能够访问我创建的有用对象。我想这样的事情可能有用
tweakedElement = $("#someDiv").myPlugin();
tweakedElement.objectInstance.doSomething();
。。。但这不起作用。我怎样才能做到这一点?我能做到这一点吗?答案写在明信片上或下面,随便哪个适合你 您可以使用jQuery的
data
函数将objectInstance
存储到相关元素上:
jQuery.data()方法允许我们
将任何类型的数据附加到DOM
以一种安全的方式使用元素
循环引用,因此来自
内存泄漏。我们可以定几个
单个元素的不同值
稍后再取回
为什么不在插件本身中执行doSomething()?或者设置是否在插件本身中添加doSomething()的选项?我需要在插件创建很久之后再访问它。该插件创建了一组SVG路径,我需要从应用程序的其他部分访问这些路径。