ホームページ >ウェブフロントエンド >jsチュートリアル >JSマウス座標位置取得例 解析_Javascriptスキル

JSマウス座標位置取得例 解析_Javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 15:19:021227ブラウズ

この記事では、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 プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。