Я пытаюсь написать небольшой скрипт / букмарклет greasemonkey / что у тебя есть для Google Docs. Функциональность, которую я хотел бы добавить, нуждается в обработчике события нажатия клавиши / keyup / keydown (один из этих трех). К сожалению, Javascript - это не моя удача, и я не могу зафиксировать (?) Событие нажатия клавиши в то время как на панели редактирования. В крайнем случае я попробовал следующее:
javascript:(function(){
els = document.getElementsByTagName("*");
for(i=0;i<els.length;i++){
els[i].onkeypress=function(){alert("hello!");};
els[i].onkeyup=function(){alert("hello2!");};
els[i].onkeydown=function(){alert("hello3!");};
}
})();
Однако, это все еще не захватывает нажатия клавиш на панели редактирования - никаких раздражающих предупреждений (хотя, похоже, это работает для большинства других сайтов ...). Я проверял в Chrome и Firefox оба (я не могу заставить его работать ни в одном из них).
Я попробовал «Журнал событий» в Firebug (и проверил все зарегистрированные события с помощью небольшого расширения Firebug, Eventbug); не похоже, чтобы эти события запускались при нажатии клавиш.
Редактировать:
Чтобы уточнить [Тим], я сделал этот скриншот с некоторыми аннотациями ...
«Панель редактирования», о которой я говорю, похоже, представляет собой кучу Javascripted-up-дивов, отображающих то, что я печатаю.
Есть идеи? Спасибо!