مصطفی S : وب مهراز - جامعه برنامه نویسی ایران

چگونگی گرفتن محل اشاره گر موس با استفاده از جاوااسکریپت ؟

سلام به تمام بچه های برنامه نویس
این اولین سوال من در وب مهراز است ، حقیقتا جای چنین شبکه اجتماعی ( جامعه کاربران) تو فضای اینترنت کم بود.
سوال:
چجور می شه محل اشاره گر موس رو با استفاده از جاوا اسکریپت گرفت؟

مثلا کد زیر فاصله یک عنصر از سمت بالا و چپ رو نشون می ده...ولی برای موس کاربرد نداره./


var offsetL = document.getElementById('id1').offsetLeft;
var offsetT = document.getElementById('id1').offsetTop;

پاســخ ها

23b803ed8f4142b3927dbda04a584bc2
مصطفی S : بسیار عالی از همه ممنونم .... برای اولین باره افرادی مثل خودم رو پیدا کردم و دارم حال می کنم.... از همگی ممنون
clientX و clientY را یاد نداشتم. از علیرضا ممنونم بابت کد ساده اش.
چهارشنبه 27 خرداد 1394 ساعت : 8 : 23
7a1ba23bee0c433abe47664d2a9fa3c3
ایمان نکونام : شما کافیه از event.pageX و event.pageY استفاده کنین :
$( document ).on("mousemove", function( event ) {
  $( "#log" ).text( "pageX: " + event.pageX + ", pageY: " +   event.pageY );
});
همانطور که مشاهده میکنین رویداد ما mousemove هست که  روی document.on تعریف شده است.
و نتایج x و y در #log نمایش داده میشود 

صفحه html ما :

<div id="log> </div>

سه شنبه 26 خرداد 1394 ساعت : 18 : 15
2766af949f58486ebdd5b11576a58bc4
رضا صالحی : اگر شما می خواهید هر لحظه مکان موس نشان داده شود بهتر است از کد زیر استفاده کنید :


$function() {
    var mousePos;

    document.onmousemove = handleMouseMove;
    setInterval(getMousePosition, 100); // setInterval repeats every X ms

    function handleMouseMove(event) {
        var dot, eventDoc, doc, body, pageX, pageY;

        event = event || window.event; // IE-ism

        // If pageX/Y aren't available and clientX/Y are,
        // calculate pageX/Y - logic taken from jQuery.
        // (This is to support old IE)
        if (event.pageX == null && event.clientX != null) {
            eventDoc = (event.target && event.target.ownerDocument) || document;
            doc = eventDoc.documentElement;
            body = eventDoc.body;

            event.pageX = event.clientX +
              (doc && doc.scrollLeft || body && body.scrollLeft || 0) -
              (doc && doc.clientLeft || body && body.clientLeft || 0);
            event.pageY = event.clientY +
              (doc && doc.scrollTop  || body && body.scrollTop  || 0) -
              (doc && doc.clientTop  || body && body.clientTop  || 0 );
        }

        mousePos = {
            x: event.pageX,
            y: event.pageY
        };
    }
    function getMousePosition() {
        var pos = mousePos;
        if (!pos) {
            // موس در حال حرکت نیست
        }
        else {
            // استفاده از   pos.x و  pos.y
        }
    }
})();

سه شنبه 26 خرداد 1394 ساعت : 3 : 15
0000000000000000000000000000001
علیرضا احمدی بابلانی : مصطفی کافیه  تو رویداد کلیک    از  کد زیر استفاده کنی و محل کلیک رو بدست بیاری :
var x;
var y;
if (e.pageX || e.pageY) { 
  x = e.pageX;
  y = e.pageY;
}
else { 
  x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; 
  y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; 
} 
x -= gCanvasElement.offsetLeft;
y -= gCanvasElement.offsetTop;

سه شنبه 26 خرداد 1394 ساعت : 56 : 14
0000000000000000000000000000001
علیرضا احمدی بابلانی : سلام دوست عزیز ، خوش آمدی به جمع ما
سه شنبه 26 خرداد 1394 ساعت : 54 : 14
تعداد بازدید : 574
ارسال به دوستان

ارسال