onmouseout、onmouseoverNN 2 IE 3 DOM 2

バブル : あり、キャンセル可能 : あり

ユーザーがマウスポインタを要素の空間内に移動する (onmouseover) か、または要素の空間の外に移動する (onmouseout) と発生します。ボーダーまたは余白は要素の空間に含まれますが、マージンは含まれません。各イベントは、ポインタが空間内に入るとき、空間内から出るときに 1 回ずつ発生します。例外として Windows 版 Navigator 4 では、イベントが onmousemove と同様に繰り返し発生します。

 

イベントハンドラーの有無に関わらず、ウィンドウの別の要素で onmouseover イベントが発生するまで onmouseout イベントが発生することはありません。このため、ターゲット要素がウィンドウまたはフレームの端にある場合に、ユーザーが現在のフレームの外側にポインタを動かすと、最初のフレームの body 要素が onmouseover イベントを受け取らず、onmouseout イベントが発生しないことがあります。onmouseout イベントを使用してイメージスワップを復元している場合、ユーザーにスワップ中のイメージが表示されてしまいます。これを避けるには、スワップ可能なイメージの周囲に十分なスペースをとります。

 

マウス関連イベントにより生成された event オブジェクトの多くのプロパティには、使用されたマウスボタン、クリックの座標、イベント発生時の修飾キーの押下状態、空間内に入ったポインタの移動元、空間内から出たポインタの移動先などの詳細な情報が格納されます。必要に応じて、イベントハンドラーでこれらのプロパティを調べます。

 

Netscape 6 では、コンテナタイプの要素の子テキストノードでマウス関連イベントが発生します。このため、event オブジェクトの target プロパティは、要素ではなくノードを参照しています。この W3C DOM 標準の動作による影響と、ブラウザ間の違いを吸収するための解決策については、第 6 章を参照してください。

 

これらのイベントは、スクリプト可能ブラウザの初期のバージョンから、さまざまな形でサポートされています。ただし、最近のブラウザでは、ほぼすべての表示要素がこのイベントを発生することができます。古いブラウザでは、このイベントは、a 要素 (スワップされるイメージによって囲んだ場合) および area 要素でしかサポートされていません。

 
代表的なターゲット

上に挙げた場合を除いたすべての表示要素。