我有一个文本框,当输入文本时,它将启用一个按钮。但是,当用户选择自动完成文本填充文本框时,不会触发该事件。
on(dom.byId('Textbox1'), 'keyup', function (event) {
if ((dom.byId('Textbox2').value.length > enable) && (dom.byId('Textbox1').value.length > 0)) {
domClass.remove(dom.byId('button'), 'disabled');
dom.byId('button').disabled = false;
};
});
我希望不需要轮询解决方案。我可能做的是使用鼠标移动事件...
最佳答案
您可以添加“更改”事件监听器。
var action = function(){
alert('fire');
};
on(registry.byId("login.username"), "change", action);
on(registry.byId("login.username"), "keyup", action);
查看我的工作fiddle .
<小时/>你的代码也很糟糕。您想要使用 Dojo,但不利用它。当您想使用值时,必须使用 .get('value');
方法。要获取小部件,您必须使用 dijit/registry
而不是 dojo/dom
。
关于javascript - Dojo 捕获自动完成事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26308697/