我想制作一个插件,每个对象都有一个单独的插件实例。我做到了,但是当我想访问数据时,我可以访问最新的示例。但是,内部插件的功能正常,但插件的函数调用只能访问最新的对象。
这个例子:
(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/ 在这个例子中,通过点击对象和另一个直接调用来提醒自己。
现在提问: 如何在外部访问点击方法等数据?