2017-01-10 8 views
-4

私はこのようないくつかのコードを見た:イベントターゲットはオブジェクトか文字列ですか?

var targetElement = event.target || event.srcElement; 
if((targetElement == "IMG") 
{ 
    ... 
} 

私はいつもevent.targetがオブジェクトであり、我々はevent.target.tagNameを使用する必要がありますが、どのようにevent.targetに来ることは、あまりにも文字列であると思いましたか?

+0

何が無効なコードのように見えるのかに基づいて、文字列であると思わせる点 –

+0

テストしているブラウザでどのような値が表示されていますか? [Mozilla Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Event/target)は、これが常にオブジェクトであるべきであることを示しているようです。 'target'が設定されていない場合は、20世紀のブラウザを使っている可能性があります。[srcElement'](https://msdn.microsoft.com/en-us/library/ff974945%28v=vs) .85%29.aspx?f = 255&MSPPError = -2147217396)も同様にオブジェクトでなければなりません。私はこのコードが間違っていないと思う。 – tadman

答えて

0

これはもちろんオブジェクトです。 ==を使用して、それを文字列とゆるやかに比較することはできますが、何がポイントですか?文書はXHTMLであるかもしれない場合

あなたはタイプを確認したい場合は、

event.target.tagName.toUpperCase() === "IMG" 

toUpperCaseを使用が必要とされています。

関連する問題