Creo que sé su problema. Está intentando consultar la posición del mouse mediante programación. Tal vez tenga un código como este:
$(document).one('mousemove.myModule', function (e) {
// e.pageY and e.pageX is undefined.
console.log('e.pageY: ' + e.pageY + ', e.pageX: ' + e.pageX); }
).trigger('mousemove.myModule');
Entonces tiene toda la razón. Las propiedades pageY y pageX en el objeto de evento no estarán definidas. En realidad, hay un montón de cosas en el evento que no estarán allí, no solo .pageY
y .pageX
. Podría ser un error en jQuery. De todos modos, simplemente no encadene esa llamada para activar y activando el evento en $ (ventana) en su lugar. No me pregunte por qué funciona, pero aunque para mí lo hizo:
$(document).one('mousemove.myModule', function (e) {
console.log('e.pageY: ' + e.pageY + ', e.pageX: ' + e.pageX); });
// Now e.pageY and e.pageX will be defined!
$(window).trigger('mousemove.myModule');
¿Esto es para pruebas? – airportyh
Una vez, lo que podría hacer es guardar los datos del evento del último evento mousemove real, luego, cuando lo desencadena, reutilizarlo programáticamente si no existen datos de eventos nuevos. Si los eventos de mousemove reales no se disparan, eso significa que el mouse no se movió, por lo que los eventData del último mousemove real deberían tener la posición actual fija. – Mahn