【发布时间】:2015-03-23 13:25:53
【问题描述】:
我有一些历史代码使用 event.returnValue = false 来防止 CR 通过 onkeydown 事件在 ASP.NET 中导致回发:
onkeydown = "if (event.keyCode == 13) {event.returnValue = false; event.cancel = true;}"
我已将代码移植到我的新开发 PC 上,但上面的代码停止工作,即按 CR 在文本框中执行回帖。
我花了很长时间才找到它。我的历史应用程序太旧了,它必须在 IE11 中以兼容模式运行,所以我的旧 PC 已将 localhost 添加到兼容站点列表中。
我的新电脑没有本地主机,所以我的新应用程序在“本机”IE11 模式下运行。
除此之外:我知道有一种不同的方法可以通过简单地返回 false 来做到这一点:
onkeydown = "return event.keyCode != 13"
我的问题更多是关于为什么 event.returnValue = false 在不处于兼容模式时在 IE11 中不起作用,即 JavaScript 事件系统发生了哪些变化导致此代码无效没有了吗?
【问题讨论】:
-
尝试在 event.returnValue 之前添加
if (event.preventDefault) event.preventDefault();- 或尝试捕获:forums.asp.net/t/…
标签: javascript asp.net javascript-events