現在のマウスの位置を取得したいのですが、使用したくありません。
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
位置を取得して情報を処理するだけなので
現在のマウスの位置を取得したいのですが、使用したくありません。
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
位置を取得して情報を処理するだけなので
回答:
マウスの位置を問い合わせる方法はないと思いますがmousemove
、情報を格納するだけのハンドラーを使用して、格納された情報を問い合わせることができます。
jQuery(function($) {
var currentMousePos = { x: -1, y: -1 };
$(document).mousemove(function(event) {
currentMousePos.x = event.pageX;
currentMousePos.y = event.pageY;
});
// ELSEWHERE, your code that needs to know the mouse position without an event
if (currentMousePos.x < 10) {
// ....
}
});
ただし、setTimeout
コードなどを除くほとんどすべてのコードはイベントに応答して実行され、ほとんどのイベントはマウスの位置を提供します。だから、マウスがどこにあるかを知る必要があるあなたのコードはおそらくその情報にすでにアクセスしています...
$(window).load(function(e){ console.log(e.pageX,e.pageY); });
マウス位置の未定義を返す
イベントを使用せずにjQueryでマウスの位置を読み取ることはできません。まず、event.pageX
およびevent.pageY
プロパティはすべてのイベントに存在するため、次のようにすることができます。
$('#myEl').click(function(e) {
console.log(e.pageX);
});
他のオプションは、クロージャを使用して、マウスムーブハンドラによって更新される変数にコード全体にアクセスできるようにすることです。
var mouseX, mouseY;
$(document).mousemove(function(e) {
mouseX = e.pageX;
mouseY = e.pageY;
}).mouseover(); // call the handler immediately
// do something with mouseX and mouseY
さらに、mousemove
ブラウザーウィンドウ上でドラッグアンドドロップを実行しても、イベントはトリガーされません。ドラッグアンドドロップ中にマウスの座標を追跡するには、document.ondragover
イベントのハンドラーをアタッチして、そのoriginalEventプロパティを使用する必要があります。
例:
var globalDragOver = function (e)
{
var original = e.originalEvent;
if (original)
{
window.x = original.pageX;
window.y = original.pageY;
}
}
使用window.event
-最後event
をevent
含みpageX
、任意のを含むpageY
など。Chrome、Safari、IEで動作しますが、FFでは動作しません。
var CurrentMouseXPostion;
var CurrentMouseYPostion;
$(document).mousemove(function(event) {
CurrentMouseXPostion = event.pageX;
CurrentMouseYPostion = event.pageY;
});
メインオブジェクト(私の場合はドキュメントオブジェクト)にeventListenerを作成して、マウスの座標をフレームごとに取得し、グローバル変数に格納します。これにより、いつでもどこでも好きなときにマウスのYとZを読み取ることができます。
私はこれに出くわしました、それは共有するのがいいと思います...
皆さんはどう思いますか?
$(document).ready(function() {
window.mousemove = function(e) {
p = $(e).position(); //remember $(e) - could be any html tag also..
left = e.left; //retrieving the left position of the div...
top = e.top; //get the top position of the div...
}
});
そして、ブーム、そこにそれがあります。