好的,所以我正在构建的应用程序中遇到一个非常奇怪的要求。我需要鼠标点击在光标位置右侧50像素。也就是说,当用户在一个地方点击时 - 该事件应该向右注册50像素。
这甚至可能吗?
答案 0 :(得分:1)
您可以通过阻止正文上的指针事件然后在document.onclick
处理程序中暂时允许它们来执行此操作。然后使用document.elementFromPoint
(取自this question)模拟点击。只需将50
添加到初始点击事件的offsetX
值即可。
let $body = $('body');
$body.addClass('locked');
document.onclick = function(e) {
$body.removeClass('locked');
let el = document.elementFromPoint(e.offsetX + 50, e.offsetY);
if (el) {
el.click();
}
$body.addClass('locked');
};
body.locked {
pointer-events: none;
}