Параметры clientX и clientY - это позиция относительно элемента, обрабатывающего событие , поэтому вам необходимо знать, к какому элементу относится событие click.
Если вы хотите смоделировать щелчок по неизвестному элементу на основе координат окна, вам нужно будет найти элемент в этой позиции. В IE и Firefox 3 вы можете использовать document.elementFromPoint(x, y)
. Я не знаю ни одного способа в других браузерах, кроме как просматривать элементы на странице, просматривая их положение / размер, чтобы определить, что находится в координатах.
Ваш код будет выглядеть примерно так:
function simulateClick(x, y) {
var el = getElementFromPoint(x, y);
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
1, 0, 0,
calculateClientX(el, x), calculateClientY(el, y),
false, false, false, false, 0, null);
el.dispatchEvent(evt);
}
getElementFromPoint
будет использовать либо document.elementFromPoint
, либо перебирать все элементы. calculateClientX/Y
будет рассчитывать координаты щелчка относительно элемента.