当我必须模拟单击HTML中的范围输入元素时遇到问题。我认为这样做很容易,因为该方法本身可以在其他所有元素上使用。但是,range
输入似乎无效。
该方法将模拟点击给定坐标
function simulateClick(x, y) {
let clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent('click', true, true);
let element = document.elementFromPoint(x, y);
element.dispatchEvent(clickEvent);
let marker = document.createElement('div');
marker.style.width = '4px';
marker.style.height = '4px';
marker.style.position = 'fixed';
marker.style.backgroundColor = 'black';
marker.style.pointerEvents = 'none';
marker.style.left = x + 'px';
marker.style.top = y + 'px';
document.body.appendChild(marker);
}
请看这个小提琴https://jsfiddle.net/3eqmzoLk/
执行代码后,黑点模拟点击,并且范围手柄应移动到所需位置,但是不起作用。