• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のイベントリスナーを設置するのは正しい?)

複数のイベントリスナーを設置するのは正しい?

このQ&Aのポイント
  • 複数のイベントリスナーを設置する方法について解説します。
  • クリック時、マウスオーバー時、マウスアウト時の処理を行うためには、イベントリスナーを複数設置する必要があります。
  • 例えば、クリック時には背景色を黒に変更し、マウスオーバー時には背景色を灰色に変更し、マウスアウト時には背景色を濃い灰色に変更するような処理を記述することができます。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

悪いとは言わないですが、汎用性があまりないですね こんな風にするとある程度省略が可能です <script> try{ document.addEventListener('click',function(e){func(e)},false); document.addEventListener('mouseover',function(e){func(e)},false); document.addEventListener('mouseout',function(e){func(e)},false); }catch(e){ document.attachEvent('onclick',function(e){func(e)}); document.attachEvent('onmouseover',function(e){func(e)}); document.attachEvent('onmouseout',function(e){func(e)}); } function func(e){ var t = (e.srcElement || e.target); if(t.id==="hoge"){ switch(e.type){ case "click": t.style.backgroundColor ="#000000"; break; case "mouseover": t.style.backgroundColor ="#aaaaaa"; break; case "mouseout": t.style.backgroundColor ="#555555"; break; } } } </script> <div id="hoge">hoge</div>

taurin1000kg
質問者

お礼

switch(e.type)ですね。有難うございます。解決しました。

すると、全ての回答が全文表示されます。

関連するQ&A