Gostaria de obter a posição atual do mouse, mas não quero usar:
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
porque eu só preciso obter a posição e processar as informações
Respostas:
Não acredito que haja uma maneira de consultar a posição do mouse, mas você pode usar um
mousemove
manipulador que apenas armazena as informações, para que você possa consultar as informações armazenadas.Mas quase todo o código, exceto
setTimeout
código e outros, é executado em resposta a um evento, e a maioria dos eventos fornece a posição do mouse. Portanto, seu código que precisa saber onde o mouse está provavelmente já tem acesso a essas informações ...fonte
$(window).load(function(e){ console.log(e.pageX,e.pageY); });
retorna indefinido para a posição do mouseVocê não pode ler a posição do mouse no jQuery sem usar um evento. Observe primeiro que as propriedades
event.pageX
eevent.pageY
existem em qualquer evento, então você pode fazer:Sua outra opção é usar um encerramento para dar a todo o seu código acesso a uma variável que é atualizada por um manipulador mousemove:
fonte
Eu usei este método:
Dessa forma, sempre terei a distância do topo salva em y e a distância da esquerda salva em x.
fonte
Além disso, os
mousemove
eventos não são disparados se você arrastar e soltar sobre uma janela do navegador. Para rastrear as coordenadas do mouse durante o arrastar e soltar, você deve anexar o manipulador para odocument.ondragover
evento e usar sua propriedade originalEvent.Exemplo:
fonte
use
window.event
- contém o últimoevent
e como qualquer umevent
contémpageX
,pageY
etc. Funciona para Chrome, Safari, IE, mas não FF.fonte
Faça um eventListener no objeto principal, no meu caso, o objeto de documento, para pegar o mouse em todos os quadros e armazená-los em variáveis globais, e assim você pode ler o Y e Z do mouse sempre que quiser, onde quiser.
fonte
Me deparei com isso, que seria bom compartilhar ...
O que é que vocês acham?
e bum, aí está ..
fonte