我希望能够在给定(x, y
)坐标的应用程序中手动单击HTML5 Canvas元素。也就是说,我能够触发click
事件,但事件的pageX
和pageY
坐标始终会返回0
。
// the always prints out 0, 0
window.addEventListener('click', (e) => {
console.log(e.pageX, e.pageY);
});
// triggering of action based on random X, Y coords
const action = new $.Event('click', {
pageX: Math.random() * window.innerWidth,
pageY: Math.random() * window.innerHeight
});
this.$canvas.trigger(action);
答案 0 :(得分:0)
需要确保您触发event
的项目与您附加事件监听器的项目相匹配。例如:
const $canvas = $('canvas');
$canvas.on('click', (e) => {
console.log(e.pageX, e.pageY);
});
// triggering of action based on random X, Y coords
$canvas.trigger($.Event('click', {
pageX: Math.random() * window.innerWidth,
pageY: Math.random() * window.innerHeight
}));