0

我已经在我的表单中注册了一个 onChange 事件到一个组合框。我正在尝试根据事件类型获取事件类型(例如,选择的项目或按下的键),其他操作将被执行。但我还没有设法得到这个属性。甚至可能吗?我正在使用 Dojo 1.6!

searchEvent = dojo.connect(combo, 'onChange', function(event) {
        // console debug(event.type);
    });
4

1 回答 1

0

要监听关键事件,您可以使用 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

希望我能帮助你。

问候,米里亚姆

于 2013-08-26T09:32:48.150 回答