我用点击功能创建一个按钮。当我单击它时,我得到了X页和Y页,但是当我尝试通过使用button.trigger('click')来单击该按钮时,该X页和Y页却没有出现。
$('#click-me').click(function(e) {
console.log('pageY', e.pageY);
console.log('pageX', e.pageX);
});
setTimeout(function() {
$('#click-me').trigger('click');
}, 1000);
<!DOCTYPE html>
<html>
<head>
<title></title>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
</head>
<body>
<button id="click-me">Click Me</button>
</body>
</html>
答案 0 :(得分:1)
这很有意义,因为手动触发的事件中没有鼠标。您需要跟踪鼠标的最后一个位置(通过监听鼠标移动事件)并像这样触发事件:https://jsfiddle.net/ghnpjL4c/1/
$(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);
})