Javascript 如何避免射击事件';改变';当为dijit/form/TextBox正确设置值时?
我需要更改小部件Javascript 如何避免射击事件';改变';当为dijit/form/TextBox正确设置值时?,javascript,dojo,dom-events,Javascript,Dojo,Dom Events,我需要更改小部件dijit/form/TextBox的属性value,但我注意到每当我使用widget.set('value','some value')事件更改在小部件上触发 我需要在不触发change事件的情况下,通过编程正确地更改该值。你知道如何实现吗 TextBox小部件有一个名为TextBox的属性,该属性对应于小部件中包含的输入元素。如果在元素上设置值,它将不会触发任何事件侦听器 require(['dijit/form/TextBox', 'dojo/on'], function
dijit/form/TextBox
的属性value
,但我注意到每当我使用widget.set('value','some value')代码>事件更改
在小部件上触发
我需要在不触发change
事件的情况下,通过编程正确地更改该值。你知道如何实现吗
TextBox小部件有一个名为TextBox
的属性,该属性对应于小部件中包含的输入元素。如果在元素上设置值,它将不会触发任何事件侦听器
require(['dijit/form/TextBox', 'dojo/on'], function(TextBox, on) {
var textBox = new TextBox({
intermediateChanges: true
}, 'button');
textBox.on('change', function(value) {
// this event handler will not fire
this.set('value', value);
console.log(this.get('value'));
});
textBox.textbox.value = 'my new value';
});
此外,要将事件处理程序附加到小部件,您应该使用小部件自己的on
方法来附加处理程序。TextBox小部件有一个名为TextBox
的属性,该属性对应于小部件中包含的输入元素。如果在元素上设置值,它将不会触发任何事件侦听器
require(['dijit/form/TextBox', 'dojo/on'], function(TextBox, on) {
var textBox = new TextBox({
intermediateChanges: true
}, 'button');
textBox.on('change', function(value) {
// this event handler will not fire
this.set('value', value);
console.log(this.get('value'));
});
textBox.textbox.value = 'my new value';
});
此外,要将事件处理程序附加到小部件,您应该使用小部件自己的on
方法来附加处理程序。我知道这是一个角落案例:)我知道这是一个角落案例:)