我尝试避免资源管理器在srcElement中抛出错误,它没有这个函数。我有
function (event) {
if (event.srcElement)
{
valueThis = event.srcElement.getAttribute("value");
}
else if(event.target)
{
valueThis = event.target.getAttribute("value");
}
}
但它不起作用,因为InternetExplorer在e.srcElement
中抛出错误答案 0 :(得分: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){/*...*/}
}
答案 1 :(得分: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");
}
}
答案 2 :(得分:0)
在我的情况下,一旦我手动验证代码,文本框上的必填字段验证器就会导致此问题。问题解决了。