Ako zakázať onChange pri nastavení hodnoty widgetu
Asi málokto vie, že metóda set() podporuje aj ďalšie argumenty ako property a value cez zápis widget.set(property, value). Jedným z nich je aj argument s interným názvom priorityChange, ktorý zabraňuje spusteniu eventu onChange. Vďaka argumentu priorityChange je možné vykonať zápis widget.set(property, value, priorityChange). O spracovanie argumentu priorityChange sa stará modul _WidgetBase.js. V tomto kroku je ostránený argument property, resp. name a posúvajú sa už len argumenty value, priorityChange a formattedValue. Príklad: Zápis, ktorý aplikuje priorityChange.
1
var result = setter.apply(this, Array.prototype.slice.call(arguments, 1));
Teraz, keď som už popísal proces spracovania argumentov pri metóde set() vo widgete TextBox, uvediem aj príklad pre odskúšanie argumentu priorityChange. Príklad: Zápis do elementu <body>.
Prvý set je štandardný, druhý a tretí je s použitím argumentu priorityChange. Tretí zabraňuje spusteniu eventu onChange.
Záver
Widget TextBox podporuje v metóde _setValueAttr() aj ďalší argument s názvom formattedValue. Príklad: Definícia metódy _setValueAttr() v súbore TextBox.js.
22.5.2016, Matej LednárKategória: DojoDojo,dijit/form/TextBox,dijit/registry,set(),onChange,onClickŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.