Dojo /连接“onKeyPress"ENTER事件在本地工作,但在测试服务器上不起作用

Dojo/connect "onKeyPress" ENTER event works locally but not on test server

本文关键字:工作 测试 不起作用 服务器 事件 连接 onKeyPress ENTER quot Dojo      更新时间:2023-09-26

我的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"事件。

keypress事件应该只在按下的键也产生一个字符时使用,例如字母a - z等(例如在文本框中)。

我不认为回车键(在这个例子中)应该触发它,所以这就是为什么它可能值得尝试使用keydown事件。因为该事件将独立于按下的键的类型而触发。

由于某些原因IE认为"Enter"键在你的第一台机器上是一个可见字符,而在第二台机器上它没有(可能与不同的版本有关),但无论如何,我认为keydown事件会更好。

你可以阅读更多关于事件(和浏览器支持)在这里