2013-08-26 76 views
0

我已將onChange事件註冊到我的表單中的組合框。我正在嘗試根據事件類型獲取事件類型(例如選擇項目或按鍵),其他操作將完成。但我沒有設法得到這個屬性。它甚至有可能嗎?我正在使用Dojo 1.6!獲取onChange事件類型

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

回答

0

要監聽關鍵事件,可以使用dojo/keys。 看一看: http://dojotoolkit.org/reference-guide/1.6/dojo/keys.html(舊的),在這裏新的AMD: http://dojotoolkit.org/reference-guide/1.9/dojo/keys.html

請注意,舊dojo.connect已過時的遲早會不再起作用。所以如果對你來說不是一個大問題,我會使用新的AMD。

您可以(使用Dojo 1.8)的onkeypress事件像這樣聽:

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

希望我可以幫助你。

Regards,Miriam