Всем привет Код (Javascript): iframe.body <div></div> <p></p> iframe.body.focus(); передает фокус в <div></div> (в начало) iframe.body.lastChild.focus(); не передает никуда как передать фокус <p>сюда</p>?
Может, все дело в том, что элемент <p> в принципе не фокусируемый? Что должно произойти по-твоему? У него же нет таб-индекса. Это просто абзац. Абзацы не ловят фокус. Поля ввода ловят, ссылки ловят, и, если память не изменяет, якори ловят. Но с последними могу ошибаться.
ну я подозреваю что то такое, пробовал <p tabindex="-1">, работает, но фокус не ставится я и спрашиваю поэтому, куда фокус поставить, на пробел? как?
:first-of-type :last-of-type по css у можно отловить как например: $( 'p:last-of-type' ).html(); <p>1</p> <p>2</p>
@oleg_ может плагин-расширение какое-нибудь грузит что-нибудь на страницу. У меня так антивирус делает.
на разных компах компах вин линукс, одинаково начал копать встретил такое Код (Javascript): iframeDoc.readyState == 'complete'|| iframeDoc.readyState == 'interactive' видимо по разному работают
Окей, повторю прямо - тэг <p> не может поймать фокус, потому что он не интерактивен и не рассчитан на взаимодействие с пользователем. Фокус и блюр - это события, отвечающие за перевод интерактивного элемента из режима ожидания в режим взаимодействия и обратно.
Тогда внутри iframe и нет больше интерактивных элементов. Остается засунуть его в iframe.document.body.focus(); после чего передвинуть его в конец текста....
Похоже на проблему XY. @oleg_ , а какую проблему ты пытаешься решить? Сдается мне, ты просто делаешь что-то не так. Хочешь, чтобы страница перескакивала по скроллу до твоего фрейма?
Кнопку "цитировать" для комментария делаю. Там ckeditor в iframe. Хочу сделать что бы когда цитируемый текст вставился в ckeditor курсор вставлялся после текста. Да и вообще, манипулировать курсором в окне ckeditor и для других задач пригодится. Вот что в ходе экспериментов выяснилось: вы правильно сказали, там нет элементов в которые можно передать фокус. Если вставить в iframe например текстареа, то все работает. Однако это не выход. Фокус передается только в iframe.body, и становится в начало. Никакие ухищрения, которые работают для основного window (например inputObject.setSelectionRange(end,end); inputObject.focus() во фрейме не работают(или я пока не нашел что работает).
не знаю как, вставляю цитату Код (Javascript): body.innerHTML='2222222222' а дальше кроме Код (Javascript): body.focus(); ничего придумать пака не могу
Это штатный редактор drupal, более того считается самым лучшим, менять его, это штаны через голову. Буду пробовать jquery, подскажите как функцию jquery $() вызвать и js function(){.....}