我的onKeyPress ENTER键事件在部署(在IE中)在我的本地主机上工作,但在部署在测试服务器上时不工作(在IE中)。在测试服务器上,ENTER事件在FireFox和Chrome中工作,只是不在测试服务器上的IE中(但在本地主机上的IE中它工作)
<script type="dojo/connect" event="onKeyPress" args="evt">
// append a ENTER key press event handler to combobox to allow quick submit
var key = evt.charOrCode;
if (key == dojo.keys.ENTER) {
if (!submitSearch(false)) {
dojo.stopEvent(evt);
}
}
</script>
谁能解释一下为什么会这样?
我想你用错事件了。尝试使用"onKeyDown"
事件。
我不认为回车键(在这个例子中)应该触发它,所以这就是为什么它可能值得尝试使用keydown事件。因为该事件将独立于按下的键的类型而触发。
由于某些原因IE认为"Enter"键在你的第一台机器上是一个可见字符,而在第二台机器上它没有(可能与不同的版本有关),但无论如何,我认为keydown事件会更好。
你可以阅读更多关于事件(和浏览器支持)在这里