"event=event|window.event”;找不到成员.RequiredFieldValidator

"event = event || window.event" Member not found. RequiredFieldValidator

本文关键字:event 找不到 成员 RequiredFieldValidator quot window      更新时间:2024-04-28

最近,我们将网站从.NET 3.5升级到4.0。在这样做之后,我们注意到IE的遗留版本中发生了一些非常奇怪的事情。标准视图中的IE9按设计工作,然而,任何其他版本的IE在用RequiredFieldValidator输入asp文本框时都会给我们带来一个奇怪的错误。在找到的.NET匿名函数中;找不到成员"这一行的脚本错误:

event=event||window.event;

我到处找过,但没有找到解决办法。只有当我们在文本框中键入时才会发生这种情况,而且只发生在该页面上。如有任何帮助,我们将不胜感激。这种只有发生在旧版本的IE中,其他浏览器和IE9似乎处理得很好。

您是否正在访问setTimeout函数内的事件|| window.event?如果是这样的话,到那时even可能已经丢失,访问该事件将给您"找不到成员"错误。。

由于您还没有发布代码,我们只能猜测发生了什么。

换行错误很好(假设函数参数中有event),可能是下一行导致的错误。当您尝试检索event对象的不存在属性时,IE会抛出Member not found错误消息。

我想您的脚本中有一个keyupkeydown处理程序,其中有一行类似于以下内容:

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

但是,旧IE中的event对象中没有which属性,相应的属性为keyCode。所以你需要检查两者:

var key=event.which || event.keyCode;
if (key == 13){ ... }