Можно ли использовать заданные координаты, чтобы имитировать клик в JavaScript на веб-странице?Как имитировать щелчок с помощью координат x, y в JavaScript?
ответ
Вы можете отправить сообщение , хотя это не то же самое, что реальный щелчок. Например, он не может использоваться, чтобы обмануть междоменный iframe-документ, считая, что он был нажат.
Все современные браузеры поддерживают document.elementFromPoint
и HTMLElement.prototype.click()
, так как по крайней мере IE 6, Firefox 5, любая версия Chrome и, возможно, любая версия Safari, о которой вы, вероятно, захотите. Он будет даже последующие ссылки и представить формы:
document.elementFromPoint(x, y).click();
https://developer.mozilla.org/En/DOM:document.elementFromPoint https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
Это потрясающе! Именно то, что я искал !!! = O – RadiantHex
Работает ли он с IE и WebKit? – RadiantHex
@RadiantHex: да, на самом деле IE был первым, кто его реализовал, и он возвращается к IE6. Реализации Chrome, Firefox и Safari 5 прекрасны, но Safari 4 и Opera неверны (хотя и работоспособны). См. Http://www.quirksmode.org/dom/w3c_cssom.html#documentview. –
По соображениям безопасности вы не можете перемещать указатель мыши с помощью javascript и не имитировать клик с ним.
Что вы пытаетесь достичь?
@Aicule: спасибо, что сообщили мне! Я добавлю немного информации на вопрос. Я просто экспериментирую, ничего действительно результативного =) – RadiantHex
В Chrome и Safari вы можете запустить клик в определенной позиции x, y. Вот как работает [эта демонстрация] (http://thdoan.github.io/magnify/demo-map.html). Firefox - это единственный браузер, где он терпит неудачу, поэтому, возможно, это специальная политика безопасности для Firefox. – 10basetom
Истина заключается в следующем: 'createEvent()' + 'initMouseEvent()' – Valer
Да, вы можете имитировать щелчок мыши, создав событие и диспетчеризация его:
function click(x,y){
var ev = document.createEvent("MouseEvent");
var el = document.elementFromPoint(x,y);
ev.initMouseEvent(
"click",
true /* bubble */, true /* cancelable */,
window, null,
x, y, 0, 0, /* coordinates */
false, false, false, false, /* modifier keys */
0 /*left*/, null
);
el.dispatchEvent(ev);
}
Остерегайтесь с помощью click
метод на элементе - он широко внедрен, но не является стандартным и не будет выполняться, например, PhantomJS. Я предполагаю, что реализация jQuery .click()
делает правильные вещи, но не подтвердила.
Это всего лишь torazaburo's answer, обновленный для использования объекта MouseEvent.
function click(x, y)
{
var ev = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true,
'screenX': x,
'screenY': y
});
var el = document.elementFromPoint(x, y);
el.dispatchEvent(ev);
}
- 1. Имитировать щелчок мышью по x, y с помощью javascript
- 2. имитировать щелчок по координате x y
- 3. Имитировать клик по координатам x/y с помощью javascript
- 4. Координаты координат x и y на изображении с помощью javascript
- 5. Имитировать щелчок мышью в Javascript
- 6. имитировать щелчок мышью с помощью motionevents
- 7. Экспоненциальное уменьшение координат (x, y)
- 8. Как имитировать щелчок мыши?
- 9. Извлечение x, y координат из произвольного пути SVG с javascript
- 10. Динамика CRM: как имитировать щелчок по полю с помощью Javascript
- 11. Сортировка вектора координат x/y
- 12. Как имитировать щелчок мыши в Javascript
- 13. Как имитировать щелчок по @ Html.ActionLink в javascript?
- 14. определение координат холста x y
- 15. JavaScript: имитировать щелчок по ссылке
- 16. Как имитировать щелчок гиперссылки?
- 17. Использование координат x и y с glTranslate
- 18. Множество координат x, y с использованием ggplot2
- 19. Функции контуров с использованием координат x/y
- 20. Создание простых пиксельных (x, y координат) букв в javascript
- 21. Как получить ContextMenuItem x и y координат
- 22. Как получить представление из координат X/Y
- 23. Цикл координат X и Y в java
- 24. Имитировать щелчок по функции JavaScript в Java
- 25. Преобразование координат x/y в сферическое
- 26. Преобразование координат EMR_LINETO (X, Y) в twips
- 27. Как имитировать реальный щелчок мыши с помощью java?
- 28. Извлечение координат x, y из базы данных
- 29. имитировать щелчок в IE 9 javascript
- 30. Создание случайных координат X, Y в сетке
Какая цель? :) Вы пытаетесь имитировать клик на карте изображения, например? –