2013-09-17 2 views
0

Я создал виджет с использованием фабрики JQuery. У него есть опция. Опцию можно изменить после создания виджета.Как обрабатывать изменение параметра в пользовательском виджете JQuery?

Как я могу обработать изменение опции? Есть ли какие-либо события или методы для этого?

Я хочу что-то вроде этого:

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

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

    initWidget: function() { 
     //do initialization 
    } 

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

} 
+0

Что вы подразумеваете под 'option change'? Как и в случае, кто-то меняет значение элемента 'select'? –

+0

Я имею в виду, если кто-то звонит $ («# myWidget»). MyWidget («option», «myOption», «newValue»); –

+0

Решает проблему переопределения методов _setOption и _setOptions. –

ответ

0

Решение, которое я нашел, чтобы переопределить методы _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(); 
    }  
} 
Смежные вопросы