Как я все размываю, сосредоточившись на документе?
с помощью JQuery/javascript
Это: $(document).focus()?
Ответ 1
Метод .focus() в элементе, обернутом jQuery, будет привязан к событию onfocus, если функция передается в качестве первого параметра или запускает присоединенные обработчики событий без параметров.
Я не уверен, почему вы пытаетесь сделать то, что вы пытаетесь сделать, но если вы пытаетесь размыть текущий активный элемент, независимо от того, какой элемент он есть, вы можете использовать:
if ("activeElement" in document)
document.activeElement.blur();
Это не рекомендуется, так как это сделает reset порядок табуляции и потенциально раздражает пользователей, отправляющих клавиатуру.
Ответ 2
$().method() запускает прослушиватели, связанные с этим методом. Если вам нужно вызвать функции на элементах dom, проиндексируйте объект jQuery.
то есть.
$(document)[0].focus()
Хотя вы бы просто не использовали document.focus, вероятно, вопрос, на который стоит ответить.
Ответ 3
ОБНОВЛЕНИЕ: В Typescript вы должны просто привести к HTMLElement следующим образом:
(document.activeElement as HTMLElement).blur();
// or
(<HTMLElement>document.activeElement).blur();
Оригинальный ответ ниже.
Принятый ответ не будет работать в TypeScript, потому что document.activeElement является типом Element, а не HTMLElement, поэтому технически он не поддерживает blur(). Приведенный ниже метод довольно хакерский, но он работает правильно.