我想制作一个插件,每个对象都有一个单独的插件实例。我做了它,但是当我想访问数据时,我可以访问最新的示例。但是,内部插件的功能正常工作,但插件的函数调用将只能访问最新的对象。
这个例子:
(function($){
$.fn.MyPlug = function(){
var $this = this;
var id = $this.prop('id');
//fire when click on div object
$this.on('click', function(){
alert(id); // this return correct id
});
//fire from out of location
$.fn.GetId = function(){
alert(id);
}
}
})(jQuery)
$('#obj-1').MyPlug();
$('#obj-2').MyPlug();
$('#obj-3').MyPlug();
$('#obj-1').GetId(); //i want return obj-1 but return obj-3!
$('#obj-2').GetId(); //i want return obj-2 but return obj-3!
$('#obj-3').GetId(); //i want return obj-3 but return obj-3!
此链接: http: //jsfiddle.net/G7hFB/25/ 在此示例中通过单击对象来提醒自己,并通过直接调用来提醒自己。
现在有一个问题:我怎样才能从外部访问诸如点击方法之类的数据?