- ベストアンサー
イベント属性の一括設定
JavaScriptで、例えば onmouseover= や onmouseout= などで指定するようなスクリプトがよくありますが、その指定内容が長い場合、ページ全体も大きく煩雑になりがちです。 そこで、同じ設定部分は、ちょうど"style"属性のように別にまとめて書いておいて、それぞれ、それを参照するようにはできないものでしょうか? また、他によい方法があればお教えいただければと思います。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
classやid、タグの名前などの単位でスクリプトを埋め込む手はあります。 ブラウザによってスピードに違いがあるため使う場合は慎重に。 <script language="javascript"> window.onload=function(){ var tags=document.getElementsByTagName("*"); for(var i=0;i<tags.length;i++){ if(tags[i].className=="hoge"){ tags[i].onmouseover=function(){ alert(1); } } } } </script> <style type="text/css"> table{ border-collapse:collapse; } td{ border:solid 1px #000; } </style> <table> <tr> <td class="hoge">○</td> <td>×</td> <td>×</td> </tr> <tr> <td>×</td> <td class="hoge">○</td> <td>×</td> </tr> <tr> <td>×</td> <td>×</td> <td class="hoge">○</td> </tr> </table>
その他の回答 (2)
私もまず, #1 の方と同様のことしか思いつきませんでした。 もしくは,外部 JS に function を持っていくとかです。 しかし... > 同じ設定部分は、ちょうど"style"属性のように別にまとめて書いておいて、 ??? ひょっとしたら, こういうことでしょうか↓? behavior - CSS http://www5e.biglobe.ne.jp/~access_r/hp/css/css_behavior_001.html IE 限定で ビヘイビア という機能があります。 例えば,全ての TD 要素に 同じ JavaScript の onmouseover などのイベントハンドラを適用することができます。 IE 限定ですからほとんど使い物にならないかもしれませんね。
お礼
ありがとうございました。
- leap_day
- ベストアンサー率60% (338/561)
<head>タグ内に <SCRIPT language="JavaScript"> <!-- function change() { ~ ~ } --> </script> として <A href="JavaScript:change()"> や <input type="button" onClick="change()"> <img src="***/gif" onMouseover="change()" などのようにする方法のことですかね?
お礼
ありがとうございました。
お礼
ありがとうございました。 分かりやすい例を挙げていただき、参考になりました。