window.event オブジェクトの違い
IE: window.event オブジェクトが存在します
FF: window.event オブジェクトが存在しません。イベント オブジェクトは関数に引数として渡すことができます。たとえば、onmousemove=doMouseMove(event)
マウスの現在の座標を取得します。
IE:event.x およびevent.y。
FF:event.pageX およびevent.pageY。
共通: どちらにも、event.clientX プロパティとevent.clientY プロパティがあります。
マウスの現在の座標 (プラス、スクロール バーが回転した距離)
IE:event.offsetX およびevent.offsetY。
FF:event.layerX およびevent.layerY。
ラベルの x および y 座標位置: style.posLeft および style.posTop
IE: はい。
FF: いいえ。
共通: object.offsetLeft と object.offsetTop。
フォーム
IE: document.body.offsetWidth および document.body.offsetHeight の高さと幅を取得します。注: 現時点では、ページには body タグが必要です。
FF: window.innerWidth と window.innerHegiht、document.documentElement.clientWidth と document.documentElement.clientHeight。
共通: document.body.clientWidth および document.body.clientHeight。
イベントを追加
IE: element.attachEvent("onclick", func);。
FF: element.addEventListener("click", func, true)。
ユニバーサル: element.onclick=func. onclick イベントを使用することもできますが、onclick と上記 2 つのメソッドの効果は異なります。onclick は 1 つのプロセスのみを実行しますが、attachEvent と addEventListener はプロセスのリスト、つまり複数のプロセスを実行します。例: element.attachEvent("onclick", func1);element.attachEvent("onclick", func2) これにより、func1 と func2 の両方が実行されます。
ここ Broken Bridge Canxue はかつてバインディング イベントを追加および削除するための一般的な関数を作成しました。次の記事を参照してください: 「JavaScript クロスブラウザーのイベント バインディング関数の追加および削除」
タグのカスタム属性
IE: タグ div1 に属性値が定義されている場合、その値は div1.value および div1["value"] によって取得できます。
FF: div1.value および div1["value"] を使用して取得することはできません。
一般: div1.getAttribute("value")。
親ノード、子ノード、および削除ノード
IE:parentElement、parement.children、element.romoveNode(true)。
FF:parentNode、parentNode.childNodes、node.parentNode.removeChild(node)。
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft
screenX: 表示画面上のマウスの座標。
clientX: ページ表示領域内のマウスの座標。
注: 上記 2 つはすべてのブラウザに共通です。以下は独自のメソッドです。
pageX: FF 独自の、ページ上のマウスの位置はページの左上隅から開始されます。これは、IE では直接ページ全体に配置することができません。置き換えられた属性。
レイヤー 要素に境界線がある場合、座標の原点はコンテンツ領域の左上隅ではなく、境界線の左上隅にあります。
offsetX: IE に特有の、「イベントをトリガーした要素」に対するマウスの位置は、境界線の左上隅からではなく、コンテンツ領域の左上隅から配置されます。この属性は比較的簡単に使用でき、要素内のマウス ポイントの位置を判断するのに非常に便利です。FF には直接置換属性がありません。
x: IE に固有で、layerX と同じ効果があり、layerX の直接置換属性として使用できます。
注: IE と FF の位置には 1 ピクセルの違いがあります。実際、IE の位置は 0 から始まり、FF の位置は 1 から始まります。FF は常に IE より 1 ピクセル大きくなります。実際の状況に応じて処理されます。
offsetLeft: この属性はイベント オブジェクトの属性ではありませんが、DOM オブジェクトに属します。この属性は、DOM オブジェクトとその親の階層関係において、DOM オブジェクトがそのオブジェクトに最も近いことを示します。 「オブジェクト」の位置を設定しますが、ブラウザによって効果が異なります。
FF では上記の指示に厳密に従っていますが、IE6/7 では、このプロパティは直接の親オブジェクト内の DOM オブジェクトの位置を返しますが、IE8 ではこの問題は修正されていますが、IE8 には新しい問題があります。他のブラウザは親オブジェクトのコンテンツ領域の左上隅から配置を開始しますが、IETester ではテスト環境が IE8 であるため、それはできません。 IETester に問題があるとは除外しました。