internet-explorer - 找不到"event = event || window.event" 成员RequiredFieldValidator

  显示原文与译文双语对照的内容
0 0

最近,我们将网站从. NET 3.5升级到 4.0. 之后,我们注意到 IE 遗留版本中发生了非常奇怪的事情。 IE9在标准视图中按设计工作,然而,在使用RequiredFieldValidator输入 asp 。xml文本框时,任何其他版本的IE 都会产生奇怪的错误。 在找到的.NET 匿名函数中,我们在这一行中得到"找不到成员。"脚本错误: event = event || window.event; 我到处搜索,但没有找到一个解决方案。 仅当我们在文本框中键入并且仅在这里页面上键入时发生。 任何帮助将不胜感激。 这种情况只发生在老版本的IE 中,其他浏览器和IE9似乎都能很好地处理它。

谢谢!

时间:原作者:3个回答

0 0

是否在setTimeout函数内访问事件 || window.event? 如果是这样,那么甚至在那时候,甚至可以能会丢失和访问事件,这会给你。

原作者:
0 0

因为你没有发布你的代码,我们只能猜测发生了什么。

行抛出错误为( 假定 event 处于函数参数中),可能是由下一行引起的错误。 当你试图检索 event 对象的非现有属性时,IE 会抛出 Member not found 错误消息。

假设脚本中有 keyup 或者 keydown 处理程序,有类似这样的行:

if (event.which == 13){.. . }

但是,旧的IEs中的event 对象中没有 which 属性,相应的属性为 keyCode 。 因此,你需要检查两个:

var key=event.which || event.keyCode;
if (key == 13){.. . }
原作者:
...