我已经在我的表单中注册了一个 onChange 事件到一个组合框。我正在尝试根据事件类型获取事件类型(例如,选择的项目或按下的键),其他操作将被执行。但我还没有设法得到这个属性。甚至可能吗?我正在使用 Dojo 1.6!
searchEvent = dojo.connect(combo, 'onChange', function(event) {
// console debug(event.type);
});
我已经在我的表单中注册了一个 onChange 事件到一个组合框。我正在尝试根据事件类型获取事件类型(例如,选择的项目或按下的键),其他操作将被执行。但我还没有设法得到这个属性。甚至可能吗?我正在使用 Dojo 1.6!
searchEvent = dojo.connect(combo, 'onChange', function(event) {
// console debug(event.type);
});
要监听关键事件,您可以使用 dojo/keys。看看: http ://dojotoolkit.org/reference-guide/1.6/dojo/keys.html (旧的),这里是新的 AMD: http ://dojotoolkit.org/reference-guide/1.9/dojo/键.html
请注意,旧的 dojo.connect 已被弃用,迟早将不再工作。所以如果这对你来说不是什么大问题,我会使用新的 AMD。
您可以像这样收听 onKeypress(使用 dojo 1.8):
require(["dojo/keys","dojo/dom","dojo/on"], function(keys, dom, on){
on(dom.byId("exampleCombo"), "keypress", function(evt){
alert(evt.charCode); //alerts the charCode of a letter or Number pressed
alert(evt.keyCode); // alerts the keyCode of a key like ENTER
});
});
在本例中,按下键的 CharCode 将被提醒。
要收听 Combobox 的 onChange,您可以这样做
require(["dojo/dom", "dojo/on"], function (dom, on) {
on(dom.byId("exampleCombo"), "change", function (evt) {
alert('evt : '+JSON.stringify(evt.type));
});
});
警报显示:evt:'change'。
这是上面示例的小提琴:http: //jsfiddle.net/WPWv3/
有关事件及其处理的更多信息,请参见此处: http ://dojotoolkit.org/reference-guide/1.9/quickstart/events.html
希望我能帮助你。
问候,米里亚姆