この記事では、JSを使用してマウスの座標位置を取得する方法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
マウスの座標位置は次のとおりです: ビューポート内のマウスの座標位置 (clientX、clientY)、ページ上のマウスの座標位置 (pageX、pageY)、ページ上のマウスの座標位置マウスが置かれている画面 (screenX、screenY) ビューポートの座標位置 (clientX、clientY) と画面上のマウスの座標位置 (screenX、screenY) はすべてのブラウザでサポートされていますが、ページ上のマウス (pageX、pageY) は、IE8 以前のバージョンではサポートされていませんが、pageX と pageY の値は、scrollLeft とscrollTop を通じて計算できます。
最初はクロスブラウザ イベント オブジェクトです
var EventUtil = { addHandler:function(elem,type,handler){ if(elem.addEventListener) { elem.addEventListener(type,handler,false); }else if(elem.attachEvent) { elem.attachEvent("on"+type,handler); }else { elem["on"+type]=handler; } }, removeHandler:function(elem,type,handler){ if(elem.removeEventListener) { elem.removeEventListener(type,handler,false); }else if(elem.detachEvent) { elem.detachEvent("on"+type,handler); }else { elem["on"+type]=null; } }, getEvent:function(event){ return event?event:window.event; }, getTarget:function(event){ return event.target||event.srcElement; }, preventDefault:function(event){ if(event,preventDefault){ event.preventDefault(); }else{ event.returnValue = false; } }, stopPropagation:function(event){ if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble=true; } } };
1. ビューポートの座標位置
var div = document.getElementById("myDiv"); EventUtil.addHandler(div,"click",function(event){ event = EventUtil.getEvent(event); alert("Client coordinages: "+event.clientX+","+event.clientY); });
2.画面座標位置
var div = document.getElementById("myDiv"); EventUtil.addHandler(div,"click",function(event){ event = EventUtil.getEvent(event); alert("Screen coordinates: "+event.screenX+","+event.screenY); });
3. ページ座標の位置
var div = document.getElementById("myDiv"); EventUtil(div,"click",function(event){ event = EventUtil.getEvent(event); var pageX = event.pageX; var pageY = event.pageY; if(pageX==undefined) { pageX=event.clientX+document.body.scrollLeft||document.documentElement.scrollLeft; } if(pageY==undefined) { pageY = event.clientY+document.body.scrollTop||document.documentElement.scrollTop; } alert("Page coordinates: "+pageX+","+pageY); });
JavaScript のマウス操作に関するコンテンツに興味のある読者は、このサイトの特別トピック「 JavaScript のマウス操作スキルのまとめ」
をご覧ください。この記事が JavaScript プログラミングのすべての人に役立つことを願っています。