screenX 全局X位置 会把分屏算上和地址栏
clientX 点击的可见区域里的位置 不会算上分屏 都是点击距离 都是相对页面
LayerY 返回已定位的元素的 只读 会把滚动算上 不会算分屏
offsetX 在元素里的位置
pageY 会把滚动算上 不算分屏 只读
someElement.offsetTop 父元素的距离
document.querySelector("#a").getBoundingClientRect().top 到窗口顶部的距离
为啥说是相对真实呢 isTrusted 是不可串改的 只有让安卓强行替换进行判断的变量
function getEventObj(dom){
var div_height = dom.offsetHeight
var div_width = dom.offsetWidth
var random_num = Math.random();
var dom_2_window_top = dom.getBoundingClientRect().top;
var dom_2_window_left = dom.getBoundingClientRect().left;
// var scroll_top = document.querySelector("html").scrollTop;
var event_obj = {
clientX: dom_2_window_left + div_width * random_num,
clientY: dom_2_window_top + div_height * random_num,
offsetX: div_width * random_num,
offsetY: div_height * random_num,
screenX: dom_2_window_left + div_width * random_num,
screenY: dom_2_window_top + div_height * random_num,
altKey: true
}
return event_obj
}
var dom = document.getElementById('a');
var events = new MouseEvent("click", getEventObj(dom));
dom.dispatchEvent(events);