イベントの位置情報の取得

ページ内の任意の位置をクリックすれば、その位置情報を取得する(単位はピクセル) 
id名はid属性が設定されていないと表示されない。表の[取得値]列にはid属性が付けられているのでクリックしてみてください。

(対応)
  ★ ・・・IEも、IE以外のMozilla系にも両対応
  E ・・・IEのみ対応
  M ・・・IE以外のMozilla系のみ対応

 プロパティの種類 説明  取得値  対応 
 offsetX/offsetY 親要素の左上隅を基点にしたxy座標    E
 x/y 要素内でのイベント発生時のxy座標     E
 layerX/layerY 要素内でのイベント発生時のxy座標    M
 pageX/pageY ドキュメント座標での xy座標    M
 clientX/clientY プラウザの左上隅を基点にしたxy座標     ★
 screenX/screenY   画面の左上隅を基点にしたxy座標    ★
 button 押されたボタンの種類(1:左ボタン,2:右ボタン)     ★
 srcElement.tagName  イベントが発生した要素のタグ名    E
 srcElement.id  イベントが発生した要素のid名    E
 target.tagName  イベントが発生した要素のタグ名    M
 target.id  イベントが発生した要素のid名    M
 type  発生したイベントの名前    
       
       
       

(何故にか?、プラウザのスクロールバーが効かなくなる(私の環境だけか?)不思議です、
スクリプト"document.onmousedown = EventTest"が、スクロールバーのデフォルトのイベント動作を奪ってしまったようです。 [スペース]キー、[Shift + スペース]キーでスクロールできるようです)

Sample Source......................................................................>>>

<script language="JavaScript"><!--
 function EventTest(evt){
   evt = (evt) ? evt :event;  //IEのイベントモデルとそれ以外のイベントモデルの両対応にする
   var e_ofx = evt.offsetX;
   var e_ofy = evt.offsetY;
   document.getElementById("offxy").innerHTML = "<span>" + e_ofx + "/" + e_ofy + "</span>";
   var e_x = evt.x;
   var e_y = evt.y;
   document.getElementById("xy").innerHTML = "<span>" + e_x + "/" + e_y + "</span>";
   var e_lax = evt.layerX;
   var e_lay = evt.layerY;
   document.getElementById("laxy").innerHTML = "<span>" + e_lax + "/" + e_lay + "</span>";
   var e_pgx = evt.pageX;
   var e_pgy = evt.pageY;
   document.getElementById("pgxy").innerHTML = "<span>" + e_pgx + "/" + e_pgy + "</span>";
   var e_clx = evt.clientX;
   var e_cly = evt.clientY;
   document.getElementById("clxy").innerHTML = "<span>" + e_clx + "/" + e_cly + "</span>";
   var e_scx = evt.screenX;
   var e_scy = evt.screenY;
   document.getElementById("scxy").innerHTML = "<span>" + e_scx + "/" + e_scy + "</span>";
   var e_bt = evt.button;
   document.getElementById("bt").innerHTML = "<span>" + e_bt + "</span>";
   var e_tag = evt.srcElement.tagName;
   document.getElementById("etag").innerHTML = "<span>" + e_tag + "</span>";
   var e_id = evt.srcElement.id;
   document.getElementById("eid").innerHTML = "<span>" + e_id + "</span>";
   var e_ttag = evt.target.tagName;
   document.getElementById("ttag").innerHTML = "<span>" + e_ttag + "</span>";
   var e_tid = evt.target.id;
   document.getElementById("tid").innerHTML = "<span>" + e_tid + "</span>";
   var e_tp = evt.type;
   document.getElementById("tp").innerHTML = "<span>" + e_tp + "</span>";
 }
 document.onmousedown = EventTest;  //任意の位置のクリック処理
//--></script>
</head>

<body>
<tr><td>プロパティの種類</td><td>説明</td><td>取得値</td><td>対応</td>
</tr>
<tr><td>offsetX/offsetY</td><td>親要素の左上隅を基点にしたxy座標</td><td id="offxy"></td><td></td>
</tr>
<tr><td>x/y</td><td>要素内でのイベント発生時のxy座標</td><td id="xy"></td><td></td>
</tr>  


(最終更新:12/12/12)
フレーム構成になっています・・・<[ホーム] >> [HTML整理ノート]>