2013-03-05 76 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. 
    } 
});