EventNN 4 IE 4 DOM 2

event オブジェクトは、ユーザーまたはシステムにより生成されるイベントに関する情報を格納します。ただし、event オブジェクトには 3 つの種類があり、各イベントオブジェクトモデルがそれぞれ、Windows 版 IE、Navigator 4、Netscape 6 (W3C DOM) に実装されています。Macintosh 版 IE 5 には、Windows 版 IE と Netscape 6 のハイブリッドバージョンが実装されています。複数ブラウザ環境でのイベント処理の例については、第 6 章を参照してください。event オブジェクトのプロパティが複数のイベントモデルに適用されることは特殊な場合ですので、次に示すプロパティについては特にブラウザの互換性のリストを参照してください。

 

Netscape 6 の event オブジェクトは、その基盤となっている W3C DOM の Event オブジェクトがオブジェクト指向の構造を持つため、いくつかの点で複雑さが増しています。Netscape 6 の event オブジェクトは、Internet Explorer の event オブジェクトのようにイベント汎用のオブジェクトではなく、イベントの種別ごとに異なるプロパティやメソッドを公開します。すべてのイベントクラスが、W3C DOM のルートにある Event オブジェクトのプロパティとメソッドを共有しています。ただし、イベントオブジェクトの実際のインスタンスは Event オブジェクトのいずれかのサブクラス (またはサブクラスのサブクラス) に属しています。このサブクラスとしては、UIEvent (DOMFocusIn などのいわゆるユーザーインターフェイスイベント)、MouseEvent (よく知られているマウスイベントを含む)、MutationEvent (スクリプトによる変更をドキュメントのノード構造に通知するイベント)、および TextEvent (DOM Level 3 で追加予定のキーボード関連のイベント) があります。Netscape 6 には、暫定的なキーボードイベント種別として KeyEvent という名前のクラスが実装されています。これは UIEvent のサブクラスですが、スクリプトの便宜上、MouseEvent からいくつかのプロパティを借用しています。

 

しかし、こうしたオブジェクトの機能分割が Netscape 6 のイベント処理に影響を及ぼすことはほとんどありません。特定のイベントに対するイベントリスナー関数は、そのイベントに関連付けられているプロパティを検索することになるためです。したがって、このイベントクラスが問題となることはほとんどありません。ただし、イベントオブジェクトのプロパティやメソッドがこのようなオブジェクト指向の構造を通じて共用されていることを理解しておくことをお勧めします。次の表に、Netscape 6 および W3C DOM のイベントクラスにおけるプロパティの分布を示します。

 
EventUIEventMouseEventKeyEventNetscape 6 で、機能を追加するために、または未完成の DOM Level 3 のキーボードイベントモデルの代わりとして実装されています。スクリプト作成の便宜上、MouseEvent からいくつかのプロパティを借用しています。TextEventDOM Level 3 で提案されていますが、Netscape 6 にはまだ実装されていません。MutationEvent
Event プロパティ
bubbles
cancelable
cancelBubbleIE property implemented in Netscape 6 for cross-browser convenience.
currentTarget
eventPhase
originalTarget8
target
timeStamp
type
UIEvent プロパティ
detail
view
MouseEvent プロパティ
altKey
button
clientX
clientY
ctrlKey
metaKey
relatedTarget
screenX
screenY
shiftKey
KeyEvent プロパティ
charCode8
isChar8
keyCode8
rangeOffset8
rangeParent8
TextEvent プロパティ
keyVal9
numPad9
outputString9
virtKeyVal9
visibleOutputGenerated9
MutationEvent プロパティ
attrChange
attrName
newValue
prevValue
relatedNode
 
EventUIEventMouseEventKeyEventNetscape 6 で、機能を追加するために、または未完成の DOM Level 3 のキーボードイベントモデルの代わりとして実装されています。スクリプト作成の便宜上、MouseEvent からいくつかのプロパティを借用しています。TextEventDOM Level 3 で提案されていますが、Netscape 6 にはまだ実装されていません。MutationEvent
Event メソッド
initEvent()
getPreventDefault()11
preventDefault()
stopPropagation()
UIEvent メソッド
initUIEvent()
MouseEvent メソッド
initMouseEvent()
KeyEvent メソッド
initKeyEvent()
TextEvent メソッド
checkModifier()12
initModifier()12
initTextEvent()12
MutationEvent メソッド
initMutationEvent()
 

Netscape 6 の event オブジェクトには、Navigator 4 の静的な Event オブジェクトのプロパティも実装されており、W3C DOM の TextEvent オブジェクト定数の膨大なリストを継承します。これらの定数は英数字以外のキーコードを表しており、eventObject.DOM_VK_PAGE_UP などの名前が付けられています。これらキーボードの定数は、W3C DOM Level 3 のイベントモジュールで定義されることになっていますが、Netscape 6 には既に実装されています。ただし、厳密な値の調整はまだ完了していません。Navigator 4 の静的な Event オブジェクトのプロパティのリストについては、イベントのインスタンスの簡単な説明に続く、Event オブジェクトの説明で取り上げます。

 

第 6 章で詳しく説明しているように、Internet Explorer と Navigator とでは、event オブジェクトへの参照を取得するために使用するスクリプト手法が異なります。この参照が取得できれば、イベント処理を複数のブラウザ間で統一しやすくなります。次に示す例は、既にスクリプトステートメントによってブラウザ固有の event オブジェクトへの参照が取得されている (この例では、evt と呼ばれる変数に保存されている) ことを前提としています。

 
オブジェクト参照
 
  • NN
      eventObj
  • IE
      [window.]event
 
オブジェクト固有のプロパティ
 
altKeyaltLeftattrChangeattrName
behaviorCookiebehaviorPartbookmarksboundElements
bubblesbuttoncancelablecancelBubble
charCodeclientXclientYcontentOverflow
ctrlKeyctrlLeftcurrentTargetdata
dataFlddataTransferdetaileventPhase
fromElementisCharkeyCodelayerX
layerYmetaKeymodifiersnewValue
nextPageoffsetXoffsetYoriginalTarget
pageXpageYprevValuepropertyName
qualifierrangeOffsetrangeParentreason
recordsetrelatedNoderelatedTargetrepeat
returnValuescreenXscreenYshiftKey
shiftLeftsrcElementsrcFiltersrcUrn
targettimeStamptoElementtype
viewwheelDeltawhichx
y
 
 
オブジェクト固有のメソッド
 
getPreventDefault()initEvent()initKeyEvent()initMouseEvent()
initMutationEvent()initUIEvent()preventDefault()stopPropagation()
 
オブジェクト固有のイベントハンドラープロパティ

なし

 
altKeyNN 6 IE 4 DOM 2

読み取り専用

イベント呼び出し時に左右いずれかの Alt キーが押されている場合は、true を返します。

 
 
if (evt.altKey) {
    //handle case of Alt key down
}
 

true または false のブール値

 
既定値

false

 
altLeftNN なし IE 5.5(Win) DOM なし

読み取り専用

イベント呼び出し時に左の Alt キーが押されている場合は、true を返します。

 
 
if (evt.altLeft) {
    //handle case of left Alt key down
}
 

true または false のブール値

 
既定値

false

 
attrChangeNN 6 IE なし DOM 2

読み取り専用

W3C DOM の変更イベントの DOMAttrModified イベントタイプにより生じた Attr ノードに対する変更のタイプを示す整数コードを返します。すべての変更イベントオブジェクトは整数値にも対応した 3 つの定数を持っており、これらの定数を使用すると、スクリプトにおける DOMAttrModified イベント処理での比較は多少長くはなりますが、読みやすくなります。次の表に値と定数を示します。

 
定数説明
1evtObj.MODIFICATION既存の Attr ノードの変更された値
2evtObj.ADDITIONAttr ノードがドキュメントツリーに追加された
3evtObj.REMOVALAttr ノードがドキュメントツリーから削除された
 
 
if (evt.attrChange == evt.MODIFICATION) {
    // do post-processing of attribute value change
}
 

123 のいずれかの整数

 
既定値

なし

 
attrNameNN 6 IE なし DOM 2

読み取り専用

W3C DOM の変更イベントの DOMAttrModified イベントタイプにより影響を受ける Attr ノードの名前を文字列で返します。

 
 
var changedAttr = evt.attrName;
 

文字列

 
既定値

空の文字列

 
behaviorCookie、behaviorPart、bookmarks、boundElementsNN なし IE 6(Win) DOM なし

読み取り専用

これらは Windows 版 IE 6 の event オブジェクトで返されるプロパティ (値はそれぞれ 00null、空の配列) ですが、Microsoft のドキュメントには記載されていません。将来のバージョンでサポートおよび実装されるものと予想されます。

 
bubblesNN 6 IE なし DOM 2

読み取り専用

デフォルトのアクションを要素階層の上位方向に伝達する (バブルスルーする) ことができるイベントの場合は、ブール値 true を返します。

 
 
if (evt.bubbles) {
    // handle case of the event bubbling
}
 

true または false のブール値

 
既定値

イベントのタイプによって異なります。

 
buttonNN 6 IE 4 DOM 2

読み取り専用

マウスイベントのトリガーとなったマウスボタンを示します。Macintosh の標準のマウスはワンボタンです。また、Windows 版 IE の右クリックで表示されるコンテキストメニューをインターセプトする場合は、oncontextmenu イベントハンドラーを使用します。

 

DOM の仕様と実装とでは、このプロパティで返される数字に大きな違いがあります。Netscape 6 に実装されている W3C DOM の場合は、0 が左ボタン (主ボタン) を表します。Windows 版 IE には、この他にマウスボタンの組み合わせを表す値があります。

 
 
if (evt.button == 2) {
    // handle event for right button
}
 

次の表に示す整数

 
ボタンIENN 6W3C DOM
ボタンなし0nullnull
左ボタン (主ボタン)100
中央ボタン411
右ボタン222
左 + 右3なしなし
左 + 中央5なしなし
右 + 中央6なしなし
左 + 中央 + 右7なしなし
 
既定値

0

 
cancelableNN 6 IE なし DOM 2

読み取り専用

ターゲット要素に対するデフォルトのアクションを preventDefault() メソッドを使ってキャンセルできるイベントの場合は、ブール値 true を返します。

 
 
if (evt.cancelable ) {
    evt.preventDefault();
}
 

true または false のブール値

 
既定値

イベントのタイプによって異なります。

 
cancelBubbleNN 6 IE 4 DOM なし

読み書き

イベントを要素コンテナ階層の上位方向に伝達する (バブルアップする) かどうかを示します。通常、イベントのデフォルトのアクションを上書きしてイベントの続行をキャンセルするには、このプロパティを true に設定するだけで済みます。IE 6 のプロパティですが、Netscape 6 にも便宜的に実装されています。W3C DOM では、event オブジェクトの stopPropagation() メソッドがこれに相当します。

 
 
evt.cancelBubble = true;
 

true または false のブール値

 
既定値

false

 
charCodeNN 6 IE なし DOM なし

読み取り専用

イベントを呼び出したキーで生成された文字の Unicode 値を表す整数を返します。文字コードとキーコードとは異なります。文字コードでは、大文字と小文字が区別される ("a" は 97、"A" は 65 など) のに対し、keyCode では、キーで生成される文字の違いに関わりなく、同じキーであれば同じ値です。通常、このプロパティには onkeypress イベントの値のみが設定されます。onkeydown および onkeyup イベントの値は 0 です。Internet Explorer でこれに相当するプロパティについては、keyCode プロパティを参照してください。

 

W3C DOM Level 3 でキーボードイベントモジュールの定義が完了すれば、このプロパティの名称も変わるものと予想されます。

 
 
if (evt.charCode > 96 && evt.charCode < 123) {
    evt.target.value += String.fromCharCode(evt.charCode - 32);
    evt.preventDefault();
}
 

整数

 
既定値

イベントによって異なります。

 
clientX、clientYNN 6 IE 4 DOM 2

読み取り専用

現在のイベントが呼び出された時点でのマウスの位置を X と Y の座標値で示します。この座標値は、ブラウザウィンドウまたはフレームで表示されるドキュメント領域を基準とする相対位置です。この座標値を Internet Explorer でのドキュメント上の座標値に変換する場合は、必ず body 要素のスクロール値 (IE 6 の標準準拠モードでは html 要素のスクロール値) を追加してください。Netscape 6 の場合は、pageX および pageY のプロパティでドキュメント上の座標値を指定します。

 
 
if ((evt.clientX >= 10 && evt.clientX <= 20) &&
(evt.clientY >= 50 && evt.clientY <= 100)) {
    // process code for click in hot zone bounded by 10,50 and 20,100
}
 

ピクセル数を示す整数

 
既定値

なし

 
contentOverflowNN なし IE 5.5(Win) DOM なし

読み取り専用

未表示のコンテンツが、コンテンツのオーバーフローを処理するために新たなレイアウト領域を必要としている場合に、ブール値 true を返します。印刷または印刷プレビューのテンプレートがカスタマイズされている場合、このプロパティは onlayoutcomplete イベントのみに適用されます。このようなテンプレートで必要となる C++ プログラミングの詳細については、http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/printpreview/reference/reference.asp を参照してください。

 

true または false のブール値

 
既定値

false

 
ctrlKeyNN 6 IE 4 DOM 2

読み取り専用

イベント呼び出し時に左右いずれかの Ctrl キーが押されている場合は、true を返します。ブラウザ間で共用されるイベントハンドラーコードでこのキーをテストする方法については、第 6 章を参照してください。

 
 
if (evt.ctrlKey) {
    // process for Control key being down
}
 

true または false のブール値

 
既定値

false

 
ctrlLeftNN なし IE 5.5(Win) DOM なし

読み取り専用

イベント呼び出し時に左の Ctrl キーが押されている場合は、true を返します。

 
 
if (evt.ctrlLeft) {
    // process for left Control key being down
}
 

true または false のブール値

 
既定値

false

 
currentTargetNN 6 IE なし DOM 2

読み取り専用

イベントリスナーでイベント処理中のノードへの参照を返します。関数が、実際のターゲットから呼び出されたのか、イベントの伝達中に別のノードから呼び出されたのかを知ることができます。

 
 
if (evt.currentTarget.nodeType == 1) {
    // process at element level for possible text node target
}
 

イベント伝達階層内のノードへの参照

 
既定値

イベントターゲットへの参照

 
dataNN |4| IE なし DOM なし

読み取り専用

Navigator 4 独自の dragdrop イベントに関連付けられているデータを示します。data プロパティは、ウィンドウまたはフレームにドラッグされているアイテムの URL を返します。

 
 
var srcDoc = evtObj.data;
 

文字列

 
既定値

なし

 
dataFldNN なし IE 5(Win) DOM なし

読み書き

IE のデータバインディングと共に使用して、HTML テーブルの列に関連付けられているデータソースオブジェクトのフィールド名を設定します。このプロパティには、データバインディングを使ってテーブル内で oncellchange イベントが発生した後の値が設定されます。

 

文字列

 
既定値

空の文字列

 
dataTransferNN なし IE 5(Win) DOM なし

読み取り専用

dataTransfer オブジェクトへの参照を返し、ドラッグ & ドロップ操作中のソースとターゲットの要素間におけるカスタマイズされたデータの移動を円滑にします。使用法の詳細については、dataTransfer オブジェクトを参照してください。

 

dataTransfer オブジェクトへの参照

 
既定値

なし

 
detailNN 6 IE なし DOM 2

読み取り専用

イベントタイプ固有の補足情報を示す整数を返します。マウスボタンイベントの場合は、ユーザーがカーソルを動かさずに同一座標上でマウスをクリックした回数を表します。カーソルを動かすとカウンタは 0 に戻り、次にマウスボタンを押して離す操作が行われるまで待ち状態になります。DOMActivate イベントタイプの場合には detail プロパティは、ユーザーのシンプルな操作 (クリックやタブ移動) に対しては 1 を、より複雑な操作 (ダブルクリック) に対しては 2 を返します。

 
 
if (evt.type == "click" && evt.detail > 5) {
    alert("Relax, dude!");
}
 

整数

 
既定値

イベントのタイプによって異なります。

 
eventPhaseNN 6 IE なし DOM 2

読み取り専用

イベントリスナーによるイベント処理が、イベントターゲットでキャプチャフェーズにあるのか、バブルフェーズにあるのかを示す整数を返します。W3C DOM のイベントオブジェクトでは 3 つの値に対応する標準テキストの定数も実装されています。

 
 
if (evt.eventPhase == evt.AT_TARGET) {
    // process event listener from the event target
}
 

次の表に示すいずれかの整数

 
定数
1eventObjectReference.CAPTURING_PHASE
2eventObjectReference.AT_TARGET
3eventObjectReference.BUBBLING_PHASE
 
既定値

2

 
fromElementNN なし IE 4 DOM なし

読み取り専用

onMouseOver イベントまたは onMouseOut イベントの直前にカーソルがあったオブジェクトへの参照を返します。

 
 
if (evt.fromElement.id == "lowerLevel") {
    ...
}
 

要素オブジェクトへの参照

 
既定値

なし

 
isCharNN 6 IE なし DOM なし

読み取り専用

文字キーのキーボードイベントが発生した場合に true を返します。実際の Netscape 6 では、ファンクションキーを含め、すべてのキーに対して true が返されます。文字以外のキーを処理するには、onkeydown または onkeyup イベントハンドラーを使用します。

 

true または false のブール値

 
既定値

true

 
keyCodeNN 6 IE 4 DOM なし

読み書き

Internet Explorer と Netscape 6 とでは onkeydown および onkeyup イベントに対する keyCode property プロパティのビヘイビアは若干異なりますが、処理方法はいずれのブラウザクラスでも同じです。これらのイベントに対して keyCode は、キーによって生成される文字の違いに関わりなく、キーボードのキーに対応したコードを返します。標準的なラテン文字セットのキーボードの場合、A のキーで 65 のコードが生成されます。修飾キーは、キーを押して離す操作が行われたときに、それぞれ該当するイベントとコードを生成します。

 

onkeypress イベントに対して、テキストボックスに入力されて表示されている実際の文字の Unicode 値に対応する有効な値 ("A" は 65、"a" は 97 など) を返すのは Internet Explorer のみです。Netscape 6 では、onkeypress イベントに対しては charCode が使用されます。キーボードイベントの処理については、第 6 章を参照してください。

 
 
if (evt.keyCode == 65) {
    ...
}
 

整数

 
既定値

なし

 
layerX、layerYNN 4 IE なし DOM なし

読み取り専用

現在のイベントが呼び出された時点でのマウスの位置を X と Y の座標値で示します。これらの座標値はその周りのレイヤーを基準とする相対値です。レイヤーや配置可能な要素が定義されていない場合、基準ドキュメントのデフォルトのレイヤーが基準点となるため、これは pageX および pageY の各プロパティと等しくなります。Netscape 6 以降では、テキストやパスワードの input 要素、textarea 要素、および select 要素に固有の矩形領域に対する相対的な値になります。

 
 
if ((evt.layerX >= 10 && evt.layerX <= 20) &&
(evt.layerY >= 50 && evt.layerY <= 100)) {
    // process code for click in hot zone bounded by 10,50 and 20,100
}
 

ピクセル数を示す整数

 
既定値

なし

 
metaKeyNN 6 IE なし DOM なし

読み取り専用

イベント呼び出し時にキーボードの Meta キー (Macintosh のキーボードの場合は Command キー) が押されている場合は、true を返します。

 
 
if (evt.metaKey) {
    // process for meta key being down
}
 

true または false のブール値

 
既定値

false

 
modifiersNN |4| IE なし DOM なし

読み取り専用

Navigator 4 独自のイベント呼び出し時に押されていた修飾キーを表す整数を示します。一連の静的な Event オブジェクト定数と共に & 演算子を使用することにより、特定の修飾キーが押されていたかどうかを確認できます。第 6 章を参照してください。

 
 
var altKeyPressed = evt.modifiers & Event.ALT_MASK;
 

整数

 
既定値

0

 
newValue、prevValueNN 6 IE なし DOM 2

読み取り専用

W3C DOM の変更イベントクラスの DOMAttrModified および DOMCharacterDataModified の各イベントタイプに関連付けられている新しい値と以前の値を示す文字列をそれぞれ返します。この情報は、CharacterData ノードの要素の属性やコンテンツを変更するときに使用するアンドゥバッファを作成するために役に立ちます。

 
 
undoAttrBuffer = {attrNode:evt.relatedNode, oldVal:evt.prevValue};
 

文字列

 
既定値

空の文字列

 
nextPageNN なし IE 5.5(Win) DOM なし

読み取り専用

カスタマイズした印刷テンプレートの次ページが、ページの左側/右側のどちらに表示されるかを示す文字列を返します。テンプレートで必要となる C++ プログラミングの詳細については、http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/printpreview/reference/reference.asp を参照してください。

 

left または right の定数を示す文字列、または空の文字列

 
既定値

空の文字列

 
offsetX、offsetYNN なし IE 4 DOM なし

読み取り専用

イベント呼び出し時にそれを含むコンテナ要素 (ただし余白、ボーダー、マージンを除く) を基準とするマウスポインタの左上隅の座標値を示します。コンテナ要素を調べるには、offsetParent プロパティを使用します。Internet Explorer でのオフセット計算については、本章の 9.2 節を参照してください。

 
 
if (evt.offsetX <= 20 && evt.offsetY <=40) {
    ...
}
 

ピクセル数を示す整数

 
既定値

なし

 
originalTargetNN 6 IE なし DOM なし

読み取り専用

Netscape 6 の内部で、本来のイベントターゲットとして扱われるノードへの参照を返します。この情報は、特定の要素の内部構造の深部に関する情報であるため、DHTML のスクリプト作成で役に立つことはほとんどありません。たとえば、タイプテキストの input 要素の内部には div 要素がネストされていますが、DOM のノードツリーは、div 要素を input 要素の子ノードとして認識しません。多くのイベントやイベントターゲットに対して targetoriginalTarget プロパティは同じノードを参照します。

 

ノードオブジェクトへの参照

 
既定値

要素によって異なります。

 
pageX、pageYNN 4 IE なし DOM なし

読み取り専用

イベント呼び出し時の、ページ領域の左上隅を基準とした要素コンテンツの左上隅の相対的な座標位置を示します。この計算ではページのスクロールは無視されます。

 
 
if (evt.pageX <= 20 && evt.pageY <=40) {
    ...
}
 

ピクセル数を示す整数

 
既定値

なし

 
prevValue

newValue を参照してください。

 
propertyNameNN なし IE 5(Win) DOM なし

読み書き

onpropertychange イベントで変更されたオブジェクトプロパティの名前を示す文字列を返します。他のイベントタイプの場合は、空の文字列が返されます。変更されたプロパティがプロパティのプロパティ (たとえば要素の style プロパティのプロパティ) である場合、戻り値には style.color のようにドットが付きます。

 
 
if (evt.propertyName.indexOf("style") == 0) {
    // perform further processing on a changed style
}
 

プロパティ名を示す文字列

 
既定値

空の文字列

 
qualifierNN なし IE 5(Win) DOM なし

読み書き

Internet Explorer のデータバインディングイベント (ondatasetcomplete など) で使用します。データソースの要素を表す文字列が返されるため、これをパラメータとして使ってデータソースの特定のレコードセットにアクセスすることができます。使用する Data Source Object に識別子データがあるかどうかについては、Microsoft のマニュアルを参照してください。

 

文字列

 
既定値

空の文字列

 
rangeOffsetNN 6 IE なし DOM なし

読み取り専用

Netscape 6 の DOM で Range の潜在的な終了点と見なされるノード内の文字オフセットを表す整数を返します。このノードへの参照は、関連する event オブジェクトの rangeParent プロパティに設定されています。これら 2 つの値はパラメータとして W3C DOM の Range オブジェクトのメソッドに渡され、開始点と終了点の設定に使用されます。このため、mousedown イベントリスナーで範囲の開始点を定義し、mouseup イベントリスナーの関数で終了点を定義することができます。どちらの関数も Range オブジェクトのメソッドに rangeParentrangeOffset の値を渡します。

 
 
var rng;
function processMouseDown(evt) {
    rng = document.createRange();
    rng.setStart(evt.rangeParent, evt.rangeOffset);
}
 

整数

 
既定値

0

 
rangeParentNN 6 IE なし DOM なし

読み取り専用

W3C のテキスト範囲の開始点や終了点に使用できるドキュメントツリーノードへの参照を返します。rangeOffset プロパティと共に使用します。

 
 
function processMouseUp(evt) {
    rng.setEnd(evt.rangeParent, evt.rangeOffset);
}
 

ノードへの参照

 
既定値

なし

 
reasonNN なし IE 4 DOM なし

読み書き

ondatasetcomplete イベントに関連付けられているコードを返します。このコードは、IE のデータバインディングによるデータ転送が正常に完了したかどうか、また転送が未完了の場合はクライアントまたはユーザーによる中止とエラーのどちらが原因なのかを示します。このプロパティは ondatasetcomplete イベントのイベントハンドラーで検査する必要があります。このプロパティは IE 4 では読み取り専用です。Macintosh 版 IE 5 にも event オブジェクトのプロパティとしてこのプロパティが含まれていますが、対応するイベントは実装されていません。

 
 
if (evt.reason == 2) {
    alert("An error occurred during the most recent update.");
}
 

次のいずれかの整数

 
 
  • 0
      転送に成功した
  • 1
      転送を中止した
  • 2
      エラーにより転送が中断された
 
既定値

なし

 
recordsetNN なし IE 5(Win) DOM なし

読み書き

データ関連イベントに関連付けられた IE のデータバインディングのレコードセットオブジェクトへの参照を返します。

 

オブジェクトへの参照

 
既定値

なし

 
relatedNodeNN 6 IE なし DOM 2

読み取り専用

W3C DOM の変更イベントを呼び出すアクションにより影響を受けるノードへの参照を返します。このプロパティはイベントの影響を受けるノードへの直接的な経路を返します。次の表を参照してください。

 
変更イベントのタイプeventObj.relatedNode 参照
DOMNodeInserted挿入ノードの親ノード
DOMNodeRemoved削除されたノードの元の親ノード
DOMAttrModifiedAttr ノード
 

その他の変更イベントの場合は null を返します。他のイベントクラスまたはプロパティの場合は undefined を返します。

 
 
var newParent = evt.relatedNode;
 

ノードへの参照、null、または undefined

 
既定値

なし

 
relatedTargetNN 6 IE なし DOM 2

読み取り専用

ドキュメントツリー内の表示ノードへの参照を返します。イベントのタイプに応じて、前のターゲットまたは次のターゲットのいずれかを参照します。mouseover イベントの場合は、それまでカーソルがあったノードを参照します。mouseout イベントの場合は、カーソルがこれから向かうノードを参照します。IE では event オブジェクトの fromElement プロパティと toElement プロパティに、これに対応する機能があります。

 
 
var beenThere = evt.relatedTarget;
 

ノードへの参照

 
既定値

なし

 
repeatNN なし IE 5(Win) DOM なし

読み書き

オートリピートモードへ移行するまでキーを押し続けた場合に、ブール値 true を返します。onkeydown イベントのみが対象です。次の例では、オートリピートモードへの移行を禁止できます。

 
 
function handleKeyDown() {
    if (evt.repeat) {
        evt.returnValue = false;
    }
}
 

true または false のブール値

 
既定値

false

 
returnValueNN なし IE 4 DOM なし

読み書き

イベントに接続されている要素のデフォルトのアクションを許可または禁止するために、イベントのソース要素に返す値を示します。event.returnValuefalse に設定した場合、この要素はリンクへのジャンプやフォーム送信などの通常の動作を行わなくなります。このプロパティは、イベントハンドラー関数で返される実際の値には影響を与えません。

 
 
evt.returnValue = false;
 

true または false のブール値

 
既定値

true

 
screenX、screenYNN 4 IE 4 DOM 2

読み取り専用

イベント発生時に画面上でカーソルがあった位置を、X と Y のピクセル座標値で示します。座標の原点 (0,0) は画面の左上隅です。ウィンドウの位置を特に指定してあり、画面上のどの部分がアクティブなウィンドウ領域であるかがわっている場合以外には、ブラウザのウィンドウやドキュメントに対する位置は指定できません。

 
 
if (evt.screenX < 5 || evt.screenY < 5) {
    alert("You\'re too close to the edge!");
}
 

正の整数または 0

 
既定値

0

 
shiftKeyNN 6 IE 4 DOM 2

読み取り専用

イベント呼び出し時に左右いずれかの Shift キーが押されている場合は、true を返します。

 
 
if (evt.shiftKey) {
    // process for Shift key being down
}
 

true または false のブール値

 
既定値

false

 
shiftLeftNN なし IE 5.5(Win) DOM なし

読み取り専用

イベント呼び出し時に左の Shift キーが押されている場合は、true を返します。

 
 
if (evt.shiftLeft) {
    // process for left Shift key being down
}
 

true または false のブール値

 
既定値

false

 
srcElementNN なし IE 4 DOM なし

読み取り専用

現在のイベントを最初に受け取った要素オブジェクトへの参照を返します。このプロパティは、複数の要素に対して同じイベントタイプを処理するイベントハンドラー関数にある switch ステートメントで使用すると便利です。Netscape 6 でこれに対応するプロパティは target です。

 
 
switch (evt.srcElement.id) {
    case "myDIV":
        ...
    ...
}
 

要素オブジェクトへの参照

 
既定値

なし

 
srcFilterNN なし IE 4(Win) DOM なし

読み取り専用

onfilterchange イベントを呼び出したフィルタオブジェクトへの参照を返します。

 

フィルタオブジェクトへの参照

 
既定値

なし

 
srcUrnNN なし IE 5(Win) DOM なし

読み取り専用

イベントを呼び出したビヘイビアの URN を表す文字列です。

 

文字列

 
既定値

null

 
targetNN 4 IE なし DOM 2

読み取り専用

現在のイベントのターゲットとなるノードオブジェクトへの参照を返します。IE の srcElement プロパティとは異なり、Netscape 6 の target プロパティは、テキストノードを囲む要素に対してイベントハンドラーが定義されている場合でも、テキストノードへの参照を返すことができます。このような場合のイベント処理では、周囲の要素への参照を Internet Explorer と Navigator とで統一するため、nodeType を考慮に入れる必要があります。複数ブラウザのイベントハンドラーコードについては、第 6 章を参照してください。

 
 
var elem = (evt.target) ? evt.target : evt.srcElement;
 

ノードオブジェクトへの参照

 
既定値

なし

 
timeStampNN 6 IE なし DOM 2

読み取り専用

イベントがいつ発生したかを相対的に知るための指標となるミリ秒の値を整数で示します。W3C DOM では、Java および JavaScript の登場時期にあたる 1970 年 1 月 1 日以降の値とすることが提案されていますが、この値は信頼できません。ただし、2 つのイベントの timeStamp プロパティの値を基に、両イベントが発生した時間の間隔を知ることはできます。

 
 
var clickTime = evt.timeStamp;
 

整数

 
既定値

現在のタイプスタンプ

 
toElementNN なし IE 4 DOM なし

読み取り専用

カーソルがそこに移動された結果 onmouseout イベントが呼び出された要素オブジェクトへの参照を返します。

 
 
if (evt.toElement.id == "upperLevel") {
    ...
}
 

要素オブジェクトへの参照

 
既定値

なし

 
typeNN 4 IE 4 DOM 2

読み取り専用

現在のイベントのタイプを示します。接頭辞の "on" は付けません。値はすべて小文字です。

 
 
if (evt.type == "change") {
    ...
}
 

イベント名を示す文字列。接頭辞の "on" は除きます。

 
既定値

なし

 
viewNN 6 IE なし DOM 2

読み取り専用

イベントが発生した W3C DOM のビューへの参照を返します。Netscape の実装では、window または frame オブジェクトがこれに相当します。

 
 
var whichWin = evt.view;
 

オブジェクトのウィンドウタイプへの参照

 
既定値

現在のウィンドウ

 
wheelDeltaNN なし IE 5.5(Win) DOM なし

読み取り専用

onmousewheel イベントの発生中にユーザーが動かしたマウスホイールの方向を表す整数を返します (ホイールが付いたマウスの場合のみ)。正の値は画面側への回転、負の値はその反対側への回転を表します。

 
 
if (evt.wheelDelta > 0) {
    ...
}
 

整数。一般的には 120 または -120 です。

 
既定値

なし

 
whichNN 4 IE なし DOM なし

読み取り専用

イベントのタイプに該当する値を返します。マウスイベントの場合、このプロパティ値は押されたマウスボタンを示す整数値です。たとえば、1 は左ボタン、3 は右ボタンを表します。キーボードイベントの場合、このプロパティ値はキーボード文字の ASCII コードを示す整数です。このプロパティは Navigator 4 のイベントモデルから Netscape 6 にも引き継がれています。既に Navigator 4 をサポートする必要がなければ、buttoncharCode、または keyCode の各プロパティを使用してください。

 
 
if (evt.which == 65) {
    ...
}
 

整数

 
既定値

なし

 
x、yNN なし IE 4 DOM なし

読み取り専用

イベントが呼び出された時点でのマウスポインタの位置を X と Y のピクセル単位の座標値で返します。相対的に配置されている要素の場合を除き、座標系は body 要素 (IE 6 の標準準拠モードでは html 要素) です。相対的に位置決めされた要素の矩形領域内でイベントが発生した場合は、座標系はその要素の領域内に限定されます。座標の原点 (0,0) は要素の左上隅です。ポインタがブラウザウィンドウのドキュメント領域の外側にある場合は -1 が返されます。

 
 
if (evt.x < 20 && evt.y < 30) {
    ...
}
 

整数

 
既定値

なし

 
getPreventDefault()NN 6 IE なし DOM なし

現在のイベントオブジェクトで preventDefault() メソッドが呼び出された場合に、ブール値 true を返します。基本的に、デフォルトのアクションをキャンセルできるかの問い合わせはスクリプトで行います。このプロパティは W3C DOM イベントモジュールに対する Netscape 6 での拡張です。

 
戻り値

true または false のブール値

 
パラメータ

なし

 
initEvent()NN 6 IE なし DOM 2

initEvent("eventType"、bubblesFlagcancelableFlag)

document.createEvent() で生成されるイベントオブジェクトに対して必要最小限の初期化を行います。スクリプトで生成されたイベントを初期化した後、ノードの dispatchEvent() メソッドに対するパラメータとしてそのイベントを使用できます。

 
戻り値

なし

 
パラメータ
 
  • eventType
      clickmousedownkeypressDOMAttrModified などイベントタイプを表す文字列
  • bubblesFlag
      イベントのデフォルトのアクションをバブルするかどうかを指定する true または false のブール値
  • cancelableFlag
      イベントのデフォルトのアクションを preventDefault() メソッドを使ってキャンセルするかどうかを指定する true または false のブール値
 
initKeyEvent()NN 6 IE なし DOM なし

initKeyEvent("eventType"、bubblesFlagcancelableFlagviewctrlKeyFlagaltKeyFlagshiftKeyFlagmetaKeyFlagkeyCodecharCode)

新たに作成されたイベントオブジェクトを、何らかのキーボードイベントに関連付けられた一連のすべてのプロパティ値で初期化します。このメソッドの名前とパラメータの構成は、DOM Level 3 の正式なイベントモジュールでは変更される可能性があります。Level 3 では、現在暫定的にテキストイベントと呼ばれているキーボードイベントが公開される予定になっています。すべてのパラメータが存在し、それらのパラメータに既定値が設定されている必要があります。たとえば、ブール値のキーフラグとして false を設定したり、整数のコード値として 0 を設定したりします。この条件はイベントタイプに対して値が重要ではない場合にも当てはまります。

 
戻り値

なし

 
パラメータ
 
  • eventType
      keydownkeypresskeyup などイベントタイプを表す文字列
  • bubblesFlag
      イベントのデフォルトのアクションをバブルするかどうかを指定する true または false のブール値
  • cancelableFlag
      イベントのデフォルトのアクションを preventDefault() メソッドを使ってキャンセルするかどうかを指定する true または false のブール値
  • view
      動的に生成されるイベントが発生することになっているウィンドウまたはフレームのオブジェクトへの参照
  • ctrlKeyFlag
      このイベントが発生したときの Ctrl キーのステートを表す true または false のブール値
  • altKeyFlag
      このイベントが発生したときの Alt キーのステートを表す true または false のブール値
  • shiftKeyFlag
      このイベントが発生したときの Shift キーのステートを表す true または false のブール値
  • metaKeyFlag
      このイベントが発生したときの Meta キー (Macintosh の Command キーなど) のステートを表す true または false のブール値
  • keyCode
      このイベントのキーコードを表す整数
  • charCode
      このイベントの文字コードを表す整数
 
initMouseEvent()NN 6 IE なし DOM 2

initMouseEvent("eventType"、bubblesFlagcancelableFlagviewdetailValscreenXscreenYclientXclientYctrlKeyFlagaltKeyFlagshiftKeyFlagmetaKeyFlagbuttonCoderelatedTargetNodeRef)

新たに作成されたイベントオブジェクトを、何らかのマウスイベントに関連付けられた一連のすべてのプロパティで初期化します。すべてのパラメータが存在し、それらのパラメータに既定値が設定されている必要があります。たとえば、ブール値のキーフラグとして false を設定したり、ノードへの参照としてとして null を設定したりします。この条件はイベントタイプに対して値が重要ではない場合にも当てはまります。

 
戻り値

なし

 
パラメータ
 
  • eventType
      clickmousedownmousemovemouseoutmouseovermouseup などイベントタイプを表す文字列
  • bubblesFlag
      イベントのデフォルトのアクションをバブルするかどうかを指定する true または false のブール値
  • cancelableFlag
      イベントのデフォルトのアクションを preventDefault() メソッドを使ってキャンセルするかどうかを指定する true または false のブール値
  • view
      動的に生成されるイベントが発生することになっているウィンドウまたはフレームのオブジェクトへの参照
  • detailVal
      イベントに関連付けられている詳細データの整数コード
  • screenX
      画面上の水平座標値を表す整数
  • screenY
      画面上の垂直座標値を表す整数
  • clientX
      ブラウザウィンドウ内の水平座標値を表す整数
  • clientY
      ブラウザウィンドウ内の垂直座標値を表す整数
  • ctrlKeyFlag
      このイベントが発生したときの Ctrl キーのステートを表す true または false のブール値
  • altKeyFlag
      このイベントが発生したときの Alt キーのステートを表す true または false のブール値
  • shiftKeyFlag
      このイベントが発生したときの Shift キーのステートを表す true または false のブール値
  • metaKeyFlag
      このイベントが発生したときの Meta キー (Macintosh の Command キーなど) のステートを表す true または false のブール値
  • buttonCode
      このイベントのボタンコードを表す整数
  • relatedTargetNodeRef
      前のまたは次のマウスイベントを受け取るノードへの参照
 
initMutationEvent()NN 6 IE なし DOM 2

initMutationEvent("eventType"、bubblesFlagcancelableFlagrelatedNodeRefprevValuenewValueattrNameattrChangeCode)

新たに作成されたイベントオブジェクトを、何らかの変更イベントに関連付けられた一連のすべてのプロパティ値で初期化します。すべてのパラメータが存在し、それらのパラメータに既定値が設定されている必要があります。たとえば、ブール値のキーフラグとして false を設定したり、整数のコード値として 0 を設定したりします。この条件はイベントタイプに対して値が重要ではない場合にも当てはまります。

 
戻り値

なし

 
パラメータ
 
  • eventType
      イベントタイプを表す文字列 DOMAttrModifiedDOMCharacterDataModifiedDOMNodeInsertedDOMNodeInsertedIntoDocumentDOMNodeRemovedDOMNodeRemovedFrom-Document、および DOMSubtreeModified
  • bubblesFlag
      イベントのデフォルトのアクションをバブルするかどうかを指定する true または false のブール値
  • cancelableFlag
      イベントのデフォルトのアクションを preventDefault() メソッドを使ってキャンセルするかどうかを指定する true または false のブール値
  • relatedNode
      イベントに関連付けられているノードへの参照。DOMNodeInsertedDOMNodeRemovedDOMAttrModified のイベントタイプのみが対象になります。
  • prevValue
      Attr または CharacterData ノードの前の値を表す文字列。DOMAttrModified および DOMCharacterDataModified のイベントタイプのみが対象になります。
  • newValue
      Attr または CharacterData ノードの新しい値を表す文字列。DOMAttrModified および DOMCharacterDataModified のイベントタイプのみが対象になります。
  • attrName
      Attr ノードの名前を表す文字列。DOMAttrModified イベントタイプのみが対象になります。
  • attrChangeCode
      イベントがシミュレートする変更のタイプを表す整数コード。DOMAttrModified イベントタイプのみが対象になります。
 
initUIEvent()NN 6 IE なし DOM 2

initUIEvent("eventType"、bubblesFlagcancelableFlagviewdetailVal)

新たに作成されたイベントオブジェクトを、何らかの UI イベントに関連付けられた一連のすべてのプロパティ値で初期化します。すべてのパラメータが存在し、それらのパラメータに既定値が設定されている必要があります。たとえば、ブール値のキーフラグとして false を設定したり、整数値として 0 を設定したりします。この条件はイベントタイプに対して値が重要ではない場合にも当てはまります。

 
戻り値

なし

 
パラメータ
 
  • eventType
      DOMFocusInDOMFocusOutDOMActivate などイベントタイプを表す文字列
  • bubblesFlag
      イベントのデフォルトのアクションをバブルするかどうかを指定する true または false のブール値
  • cancelableFlag
      イベントのデフォルトのアクションを preventDefault() メソッドを使ってキャンセルするかどうかを指定する true または false のブール値
  • view
      動的に生成されるイベントが発生することになっているウィンドウまたはフレームのオブジェクトへの参照
  • detailVal
      イベントに関連付けられている詳細データの整数コード
 
preventDefault()NN 6 IE なし DOM 2

ノードで実行する通常の操作を省略するように現在のイベントに指示します。いったんこのモードを設定すると、現在のイベントの全体にわたり解除ができなくなります。次に示す Netscape 6 の keypress イベントのイベントリスナー関数では、テキストフィールドに数字しか入力できなくなります。

 
function numsOnly(evt) {
    if (evt.charCode < 48 || evt.charCode > 57) {
        evt.preventDefault();
    }
}
 

このメソッドの効果は、Internet Explorer の event.returnValue プロパティに false を設定した場合、またはイベントハンドラーで評価結果が return false になる場合と同じです。

 
戻り値

なし

 
パラメータ

なし

 
stopPropagation()NN 6 IE なし DOM 2

現在のイベントがキャプチャやバブリングの階層を通り、イベントを現在処理中のノードを越えて伝達されることを禁止します。このメソッドが実行するアクションは、イベントオブジェクトの cancelBubble プロパティに false を設定した場合と同じです (バブリング伝達にのみ適用)。

 
戻り値

なし

 
パラメータ

なし