• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:attachEvent(addEventListener)の使い方)

attachEvent(addEventListener)の使い方

このQ&Aのポイント
  • JavaScriptのattachEventを使用してイベントハンドラを追加する方法について説明します。
  • addFocus関数の引数に複数のテキストフィールドのname属性値を指定する方法について説明します。
  • attachEventを使用する場合、thisを使用して現在のオブジェクトを参照することができません。Arg変数を使用して名前属性を参照する方法について説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

・ IEのattachEvent()は動作は、特異で、この場合   addFocus()関数の中でも   イベントハンドラの中でも   thisキーワードは、グロバルなwindowオブジェクトを指しているようです。 ・ 「テキストフィールドにフォーカスがあたるとそれぞれのname属性値が表示されることなのですが」とするには、window.eventオブジェクトを利用してください。ただしバブリングのない簡単な構成の場合とします。 function doFocus (node) { alert(window.event.srcElement.name); }

kyonn2008
質問者

お礼

解答ありがとうございます。 上記ソースコードを一部改変してFFやNN、Operaでこの場合の「this」が 利用できるか確認してみたところ、 うまく動作することを確認しました。 auty様のおっしゃられた通りで、確かにIEだけ特異なのですね。 「srcElement」というものがあることも初めて知りました。 よって、ブラウザがIEの場合はsrcElementを使うようにソースを改変して解決いたしました。 適切な解説をいただきまして本当にありがとうございました。

関連するQ&A