jQuery фокус иногда приводит к исчезновению мигающего текстового курсора - PullRequest
2 голосов
/ 28 мая 2010

Кто-нибудь знает, почему .focus() заставляет курсор исчезнуть, но возвращается, когда вы щелкаете в поле ввода текста?

1 Ответ

0 голосов
/ 28 мая 2010

.focus() не может определить положение курсора, например , где должен быть курсор при запуске события focus для элемента? Это определяется тем, где вы click, что является совершенно другим событием.

Кроме того, когда вы .trigger() событие (.focus() является ярлыком для .trigger('focus')), оно не копирует событие так же, как это произошло бы, если бы пользователь создал событие, например, действие по умолчанию .... например, установка положения курсора (.click() также не будет работать по той же причине). Документы jQuery для .trigger() кратко охватывают это:

Хотя .trigger() имитирует активацию события, в комплекте с синтезированным объектом события, она не полностью воспроизводит естественное событие.

Вы можете остановить действие по умолчанию (с event.preventDefault()), но в ядре jQuery нет механизма для его создания или выполнения.

...