也许你必须采取另一种方式来赶上关键事件。
这就是我在文本框中捕获“Enter”事件的方式。当按下 Enter 键时,将调用函数 zoomToAnlage()。此事件侦听器已在初始阶段加载,这一点很重要。当然,这不是完全解决您的问题,但也许它显示了您如何处理它的方法。
function initKielAnlagenNummernSuchen(){
queryTaskAnlagenNummern = new esri.tasks.QueryTask(restServicesLocation + NameSearchService + "/MapServer/23");
queryallAnlagenNummern = new esri.tasks.Query();
queryallAnlagenNummern.returnGeometry = true;
queryallAnlagenNummern.outFields = ["ANLAGE"];
require(["dojo/keys","dojo/dom","dojo/on"], function(keys, dom, on){
on(dom.byId("selectAnlagenNummer"), "keypress", function(evt){
var charOrCode = evt.charCode || evt.keyCode;
if (charOrCode == keys.ENTER) {
zoomToAnlage();
}
});
});
}
这是 dojo/keys 的链接: http ://dojotoolkit.org/reference-guide/1.8/dojo/keys.html?highlight=keys#id2
问候,Miriam