0

我尽量避免资源管理器在 srcElement 中抛出错误,它没有这个功能。我有

function (event) {
    if (event.srcElement)
    {
        valueThis = event.srcElement.getAttribute("value");
    }
    else if(event.target)
      {
        valueThis = event.target.getAttribute("value");
     }
}

但它不起作用,因为 InternetExplorer 在 e.srcElement 中抛出错误

4

3 回答 3

2

如果您谈论的是 IE<9,则该event对象不会作为第一个参数传递给侦听器处理程序。所以

function(event)
{
    if(!event) alert("Dead");
}

在 IE 中可能会“死”。

更常见的方法是:

function(e)
{
    e=e?e:window.event;
    if(e.target){/*...*/}
    else if(e.srcElement){/*...*/}
}
于 2012-10-05T09:44:31.327 回答
0

尝试hasOwnProperty(string property)为此使用对象方法:

function (event) {
 if (event.hasOwnProperty('srcElement')) {
    valueThis = event.srcElement.getAttribute("value");
 }
 else if (event.hasOwnProperty('target')) {
  valueThis = event.target.getAttribute("value");
 }
}
于 2012-10-05T09:40:27.167 回答
0

就我而言,一旦我手动验证代码,文本框上的必填字段验证器就会导致此问题。问题解决了。

于 2014-01-17T15:58:41.187 回答