0

i try avoid explorer throws error in srcElement, it does not have this function.I have

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

but it doesnt work because InternetExplorer throws error in 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)これには object メソッドを使用してみてください。

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 に答える