Как снова придать фокусировке страницы, чтобы пробел вниз страницы в FF? - PullRequest
2 голосов
/ 27 мая 2009

У меня есть ajax-скрипт с кнопкой «получить больше сообщений», который вставляет информацию о паре экранов / областей просмотра. При этом в какой-то момент документ теряет фокус, и, таким образом, стандартное поведение пробела (страница вниз) не работает в Firefox.

Как мне снова сфокусировать документ, чтобы восстановить поведение по умолчанию? Какие компоненты контролируют это поведение?

Работает в Chrome и IE (на удивление), но не в FF.

Я пытался использовать функцию обратного вызова: document.body.focus () и document.getElementById ('someClickableElement'). Click (), но не повезло.

Если я действительно нажму на страницу после отображения содержимого, то снова смогу прокрутить пробел.

Поскольку это часто используемая функция, раздражает нажатие кнопки «загрузить больше», повторное нажатие , затем пробел на страницу вниз.

Мысли? Предложения?

EDIT: Итак, я использовал кнопку YUI (просто красивый HTML-элемент "button" с некоторыми стилями CSS) для интерфейса. я заменил его ссылкой, и у меня больше нет этой проблемы.

Интересно, что в Chrome & IE все работает так, как ожидалось, и я даже не использую слушатели YUI для этого события (только красивые кнопки). Он обрабатывается живым методом jquery (b / c делегирования события).

Также интересно, что я не могу программно делать то, что я могу делать физически (т. Е. «Щелкать»).

Даже если есть какая-то ошибка в YUI, похоже, что firefox должен быть в состоянии восстановить фокус с помощью некоторого действия javascript.

очень странно. Все еще оценили любой вклад (больше предложений javascript, чтобы попробовать?). Я немного привержен своему нынешнему интерфейсу.

Ответы [ 2 ]

1 голос
/ 27 мая 2009

Похоже, нужно размыть элемент кнопки YUI. Или сделайте что-нибудь с порядком табуляции между всем документом и кнопкой YUI.

Итак - не для фокусировки () документа, а для размытия () кнопки YUI.

В качестве альтернативы вы можете попробовать применить событие «нажатие клавиши», имитирующее клавишу «TAB».

1 голос
/ 27 мая 2009

Я не пробовал это, но как насчет размытия () тела или окна.

window.blur();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...