Jquery 手动触发时,是否有方法通过单击事件获取X页和Y页

Jquery 手动触发时,是否有方法通过单击事件获取X页和Y页,jquery,Jquery,我制作了一个带有点击功能的按钮。当我点击它时,我得到了第X页和第Y页,但当我尝试使用按钮点击按钮时,触发('click')在这个第X页和第Y页不会出现 $('click me')。单击(函数(e){ console.log('pageY',e.pageY); console.log('pageX',e.pageX); }); setTimeout(函数(){ $('click me')。触发器('click'); }, 1000); 点击我 这很有意义,因为手动触发的事件中没有鼠标。您需要跟

我制作了一个带有点击功能的按钮。当我点击它时,我得到了第X页和第Y页,但当我尝试使用按钮点击按钮时,触发('click')在这个第X页和第Y页不会出现

$('click me')。单击(函数(e){
console.log('pageY',e.pageY);
console.log('pageX',e.pageX);
});
setTimeout(函数(){
$('click me')。触发器('click');
}, 1000);

点击我

这很有意义,因为手动触发的事件中没有鼠标。您需要跟踪最后一个鼠标位置(通过侦听鼠标移动事件)并触发事件,如下所示:


您没有将任何事件传递给
单击
e
不存在)。触发
单击
不会模拟事件,它只是调用函数。如果通过javascript触发单击,为什么需要鼠标位置?
$(function(){
    var lastX = 0;
    var lastY = 0;

  $('#clickMe').on('click', function(e){
    console.log("PageX " + e.pageX);
    console.log("PageY " + e.pageY);
  });

  $(document).on('mousemove', function(e){
    lastX = e.pageX;
    lastY = e.pageY;
  });

  setTimeout(function(){
    var e = $.Event('click');
    e.pageX = lastX;
    e.pageY = lastY;
    $('#clickMe').trigger(e);
  }, 3000);
})