2013-03-05 72 views
0

我正在写一个jqueryui小部件,并且我想在部件更改(使用_trigger)时获取一些小部件数据。我现在用的小部件如下:jqueryui小部件工厂更改方法

$("#myDiv").myWidget({ 
    change: function(e) { 
     alert($("#filter").myWidget('getWidgetData')); 
     // do something with the widget data. 
    } 
}); 

此代码(警报火灾和显示部件数据时,窗口小部件调用_trigger)。但是,这是获取更改回调中的小部件数据的正确/最佳方式吗?对于isntance,我似乎无法调用this.getWidgetData或e.getWidgetData。

+0

没人?这个问题措辞严重吗? – SteveP 2013-03-06 09:29:00

回答

1

您可以将数据附加到您触发的更改事件。你应该有这样的事情:

this._trigger('change', e); 

,并可以使用:

this._trigger('change', e, { widgetData: this.getWidgetData() }); 

_trigger函数接受A hash of data associated with the event.作为其第三个参数作为documentation描述下。

您的代码将变为:

$("#myDiv").myWidget({ 
    change: function(e, data) { 
     alert(data.widgetData); 
     // do something with the widget data. 
    } 
});