0

我正在编写一个 jqueryui 小部件,我想在小部件更改时获取一些小部件数据(使用 _trigger)。我使用的小部件如下:

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

此代码有效(当小部件调用 _trigger 时,警报会触发并显示小部件数据)。但是,这是在更改回调中获取小部件数据的正确/最佳方式吗?例如,我似乎无法调用 this.getWidgetData 或 e.getWidgetData。

4

1 回答 1

1

您可以将数据附加到您触发的更改事件。你应该有类似的东西:

this._trigger('change', e);

并且可以使用:

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

_trigger函数接受文档A hash of data associated with the event.中描述的第三个参数。

您的代码将变为:

$("#myDiv").myWidget({
    change: function(e, data) {
        alert(data.widgetData);
        // do something with the widget data.
    }
});
于 2014-01-10T11:29:23.437 回答