• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:イベントハンドラをタグ外に記述するには)

イベントハンドラをタグ外に記述するには

このQ&Aのポイント
  • <input type="submit" value="submit" class="btn">で記述したボタンにロールオーバーを設定したいのですが、訳あってinput内に書くことができません。
  • 色々と調べて試してみたのですが上手くいかないので、どなたか教えていただけませんか?
  • 私が試した方法は、<head></head>内に<script TYPE="text/javascript"> <!-- startEvent("window","load","Over") function Over(){ startEvent("document.forms[0].elemens[1]","onmouseover","Color"); } function Color(){ document.forms[0].elemens[1].style.backgroundColor = "orange"; } --> </script> 以上を記述するという方法です。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

window.onload=function(){ document.forms[0].elements[1].onmouseover=Color; } function Color(){ this.style.backgroundColor = "orange"; // document.forms[0].elements[1].style.backgroundColor = "orange"; }

hiyonari
質問者

お礼

コピーさせていただいただけでそのまま動作させることができました。ありがとうございます。

その他の回答 (3)

  • Blaise
  • ベストアンサー率33% (13/39)
回答No.4

No.3へのコメント W3C的には問題ありとはいえないのでは? しかし、ブロック要素を要求するケースもあるわけで、 改行を嫌う必然性がない限り、理想的には、<span>よりも <div>を使用するのがよいのかも。以下参考抜粋: Generally, block-level elements may contain inline elements and other block-level elements. Generally, inline elements may contain only data and other inline elements. Inherent in this structural distinction is the idea that block elements create "larger" structures than inline elements.

hiyonari
質問者

お礼

ご指摘ありがとうございます。

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

「訳あって」の訳次第じゃないですかねぇ・・・ 単純にsubmitを何らかの理由でいじれないなら、 それをspanではさんでしまうというのは許される のでしょうか?こんなかんじ <span onMouseover="Color()"> <input type="submit" value="submit" id="btn0" class="btn" > </span> <script language="javascript"> function Color(){ document.getElementById('btn0').style.backgroundColor = "orange"; } </script>

hiyonari
質問者

お礼

<body>内に書くこと自体ができない状況でした。しかし大変参考になりました。ありがとうございます。

  • nipox
  • ベストアンサー率32% (10/31)
回答No.1

こんなのはいかがです? つかえるか保障はありませんが。 document.(省略).onmouseover='関数のカッコなし' DOMの勉強のときにどこかのサイトで見ました。 「ドラッグアンドドロップでオブジェクトを動かす」 みたいなところで出てましたのでそちらのほうを見てみては

参考URL:
http://www.hajimeteno.ne.jp/dhtml/dist/js13.html
hiyonari
質問者

お礼

ありがとうございます。参考にさせていただきます。