
IEでイベントリスナーに設定した関数で、イベントを発生させた要素のid属性値を取得する方法が分からずに困っています。
記述したコードは下記のようになります。Firefoxではうまく動作しました。
clickHandler内でFirefoxのe.currentTarget.idに対応するような処理はどのように行えばよいでしょうか。
------------ JavaScript部分 -----------------------
function addEvent(elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;
}
else if (elm.attachEvent) {
var r = elm.attachEvent('on' + evType, fn);
return r;
}
else {
elm['on' + evType] = fn;
}
}
function clickHandler(e)
{
var id;
if (document.all && !window.opera)
{
// IEの場合に、ここの処理でid属性の属性地 hoge1やhoge2を取得したい。
// id = window.event.srcElement.id; これではだめ
}
else
{
id = e.currentTarget.id;
}
// idに応じた処理
}
var elm1 = document.getElementById('hoge1');
var elm1 = document.getElementById('hoge2');
addEvent(elm1,'click',clickHandler,false);
addEvent(elm2,'click',clickHandler,false);
------------ HTML部分 -----------------------
<li><a id="hoge1" href="#"><img src="●●" /></a></li>
<li><a id="hoge2" href="#"><img src="●●" /></a></li>
先に進むことができずに困っています。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
srcElementで良いはずですが、、、
id=e?e.srcElement.id:event.srcElement.id;
とか?
window.eventとeventは同じ物です。
「idに応じた処理」の方にバグがありませんか?
ご回答いただきありがとうございます。
>srcElementで良いはずですが、、、
srcElementでとれていました。
イベント伝播を理解していませんでした。
srcElementの親を参照して、idを取得することでa要素のidを取得できました。
ありがとうございます。
No.1
- 回答日時:
そりゃまぁ srcElement はIE用のだからねぇ。
http://www.tohoho-web.com/js/event.htm#srcElement
Gecko系は target
http://www.tohoho-web.com/js/event.htm#target
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript gasについて 1 2022/05/31 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
ボタン上でマウスを押している...
-
ジャンル別にランダム画像を表...
-
<a>タグのテキストを取得
-
オンマウスで音を鳴らせる為には?
-
onchangeイベントを使ってspan...
-
HTML:Tableタグに対し、JavaScr...
-
C#テキストボックスの文字を配...
-
window.openでタイトル名の指定
-
google apps scriptの終了のさせ方
-
ASP.NET MVCでObjectをjsに渡す
-
phpでの文字の点滅表示
-
jspからjavascriptの変数引継ぎ
-
C#で、ContextMenuStripに動的...
-
undefinedを表示させない方法は...
-
JavaScript/jQuery で元画像フ...
-
Matlabで自作関数をオーバーロード
-
C#OpenCv V4にのエラーに関する...
-
引数を渡さずに呼び出し元の変...
-
ページ最終行へジャンプする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
ActiveXobjectが作成できない
-
innerHTML実行後のイベント
-
onchangeイベントを使ってspan...
-
javascriptで編集可能不可能の...
-
javascript 特定のタグのidの存...
-
javascriptでスロットゲームを...
-
任意の座標をクリックさせるには
-
クリックを押した時にリンク先...
-
モーダルダイアログウィンドウ...
-
javascriptでCSVを呼出しvlookup
-
onclickを使わずにイベント処理...
-
【Tabキー】特定の範囲内だけで...
-
RadioButtonListの表示制御
-
オンマウスで音を鳴らせる為には?
-
Javascriptでページ内の任意ク...
-
オブジェクトがありません
-
javascriptであるボタンを押す...
-
オブジェクトがぶつかった時の処理
-
JavaScriptのID要素の中身をque...
おすすめ情報