我已经在我的表单中向一个comboBox注册了一个onChange事件。我试图根据事件类型获取事件类型(例如选择项目或按键),其他操作将完成。但我还没有设法获得这些房产。它甚至可能吗?我正在使用Dojo 1.6!
searchEvent = dojo.connect(combo, 'onChange', function(event) {
// console debug(event.type);
});
答案 0 :(得分: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。
你可以像这样监听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:'更改'。
以上示例的小提琴:http://jsfiddle.net/WPWv3/
有关事件及其处理的更多信息,请在此处查看: http://dojotoolkit.org/reference-guide/1.9/quickstart/events.html
希望我能帮到你。
此致,Miriam