简体   繁体   English

如何处理自定义JQuery小部件中的选项更改?

[英]How to handle an option change in a custom JQuery widget?

I created a widget using JQuery factory. 我使用JQuery工厂创建了一个小部件。 It has an option. 它有一个选择。 The option can be changed after creation of the widget. 创建小部件后可以更改该选项。

How can I handle option change? 如何处理期权变更? Is there any events or methods for this? 是否有任何事件或方法?

I want something like this: 我想要这样的东西:

$.widget("myWidget", {
    options: {
        myOption: 'defaultValue'
    },

    _create: function() {
       this.initWidget(); 
    }

    initWidget: function() {
      //do initialization
    }

    _onOptionChange: function() {
       this.initWidget(); 
    }

}

The solution I found is to override methods _setOption and _setOptions. 我发现的解决方案是覆盖方法_setOption和_setOptions。

_setOptions: function( options ) {
    var key;
    for ( key in options ) {
    this._setOption( key, options[ key ] );
    }
    return this;
},

_setOption: function( key, value ) {
    if (key === "myOption") {
        this.initWidget();
    }    
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM