>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Ввод текста в поле на котором фокус ввода. http://forum.mozilla-russia.org/viewtopic.php?id=7701 |
Sarin2.0 > 19-01-2006 14:55:20 |
Может кто-то сталкивался? Можно ли, в принципе, сделать так, что бы программа на JS вводила текст в поле на котором стоит фокус ввода? Проблема видится в том, что при клике на кнопку фокус передастся ей. Но может кто-то сталкивался? Есть ли решение у этой задачи? Скрипт будет висеть в расширении. |
Infant > 19-01-2006 15:09:41 |
Я так понимаю что простой ответ «Можно» тебе не подойдёт? Попробуй посмотреть как это организовано в расширении Nightly Tester Tools... Там есть кнопка для Панели навигации «Вставить ID сборки». Чем-то напоминает твоё желание... |
Anton > 19-01-2006 15:46:50 |
Что-то вроде этого: Выделить код Код:var bluredEl = null; function blurHandler (event) { if (event. originalTarget. nodeName == "html:input") // или "textbox" bluredEl = event. originalTarget; } window. addEventListener ("blur", blurHandler, true); + |
Sarin2.0 > 19-01-2006 16:16:14 |
Anton пишет
Не. Ваще ни разу. Только в GET дату добавляет txt= и перезагружает страницу |
Sarin2.0 > 19-01-2006 16:23:28 |
Простите дурака молодого. Вроде получается. Осталось обстругать немного. |
Sarin2.0 > 19-01-2006 18:33:15 |
Оказываеца текстареа не теряет фокус при передаче вокуса расширению. Так что хендлер надо перевесить на событие получения фокуса ввода. Это, ведь, onfocus? Или в данном контексте надо писать просто focus? |
Sarin2.0 > 19-01-2006 18:45:12 |
focus и onfocus не помогли. |
Anton > 19-01-2006 23:58:09 |
может быть, стоит обратить внимание на эту строку: ? |
Sarin2.0 > 20-01-2006 00:32:16 |
Anton пишет
Спасибо. Я уже обратил на них внимание и переписал. И всё работает. Но нужно перевесить обработчик с потери фокуса на его получение. Объясняю: я пишу расширение, которое поможет мне писать комменты и посты в http://livejournal.com Так вот чтоб всё работало надо сначала поставить фокус на текстарею для добавления коммента, а потом убрать. Иначе ничего не работает. Я пришёл к выводу, что событие потери фокуса не происходит когда после того, как я кликаю на кнопке из своего тулбара. Замена blur на focus почему-то не помогла. чем originalTarget отличается от target? |
Anton > 20-01-2006 00:42:19 |
Может следующий код из nightly tester поможет ? Выделить код Код:var element = document.commandDispatcher.focusedElement; if (element) { var type = element.localName.toLowerCase(); if ((type=="input")||(type=="textarea")) { element. value = "..."; |