Как создать событие mousedown или нажатия клавиши программно? - PullRequest
5 голосов
/ 17 мая 2011

Я занимаюсь разработкой расширения для Chrome, которое запускает некоторый javascript на определенной веб-странице.

Я хочу смоделировать действие по щелчку на панели инструментов «prev», «next» на странице представления представления в Google docs.К сожалению, оба являются тегами с событиями onmousedown, соответствующими запутанному javascript.

Если они были якорями, document.getElementById ("ToolbarNext"). Onclick ();работает.Однако то же самое для onmousedown, похоже, не работает, вероятно, потому, что для этого требуются координаты мыши и т. Д. Как мне сгенерировать это событие?

Другой вариант - имитировать нажатие клавиши 'j' или 'kна DOM.Я попробовал несколько вариантов, но не смог понять это.

Ответы [ 2 ]

2 голосов
/ 17 мая 2011

попробовать dispatchEvent/fireEvent методы

0 голосов
/ 17 мая 2011

Вы можете собрать функцию, прикрепленную к onmousedown, и выполнить ее. Однако вам придется заново создать объект event, если он вам нужен:

<input type="button" onmousedown="console.log('mousedown')" value="click me" />
<script>
    var inp = document.getElementsByTagName('INPUT')[0],
        fn = inp.onmousedown;
        fn({target:inp/*, other properties of the event object if needed */});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...