小部件代码:
(function($){
$.widget("demo.widget", {
_create: function() {
},
_init: function() {
},
load: function(){
var widget = this;
$.post(
Url,
ajaxUtils.success(function(json) {
//variable widget is overwritten here if I create multiple instances of the widget
alert(widget.element.data("name"));
}), "json");
},
setOptions: function(name) {
$(this).data("name", name);
}
})(jQuery);
我创建同一个小部件的多个实例。
$('<div/>').widget();
$('<div/>').data('widget').setOptions("Name1");
$('<div/>').data('widget').load();
$('<div/>').widget();
$('<div/>').data('widget').setOptions("Name2");
$('<div/>').data('widget').load();
但是ajax成功调用中的widget变量总是返回Name2。我应该如何编写代码来存储特定于实例的数据?