Як видалити фокус із поля введення в jQuery?


136

Я встановлюю фокус на певному полі введення під час завантаження сторінки, використовуючи наступний рядок:

$('#myInputID').focus();

Чи можна скасувати або видалити цей фокус під час наведення курсору на певний елемент ? (Після виходу з цього елемента фокус не потрібно скидати.)

Я не міг знайти функцію, яка протилежна вищевикладеній у jQuery або інакше працювала б тут.

Відповіді:


227

Використовуйте .blur () .

Подія розмиття надсилається елементу, коли він втрачає фокус. Спочатку ця подія застосовна лише для елементів форми, таких як <input>. В останніх браузерах домен події було розширено, щоб включити всі типи елементів. Елемент може втратити фокус за допомогою команд клавіатури, наприклад клавіші Tab, або клацання миші в іншому місці сторінки.

$("#myInputID").blur(); 

Гаразд, тому я думаю, що я роблю щось не так або я описав це неправильно. Елемент, який я хочу тут використовувати, має клас navbar (це Bootstrap 3 navbar), тому я спробував таке, але це не працює: $ ('. Navbar'). On ('mouseover', function () {$ ( '#myInputID'). blur ();});
користувач2571510

Так, я це зробив. Якщо це не працює, я можу просто встановити фокус на навібарі?
користувач2571510

1
@ user2571510: спробуйте подати попередження всередині події і побачити, звільняється вона чи ні.
Milind Anantwar

Так, попередження показує, але фокус не знімає з поля.
користувач2571510

1
@ user2571510: у вас є дублікати ідентифікаторів на сторінці ?? спробуйте використовувати$("[id=myInputID]").blur();
Milind Anantwar



0

$(':text').attr("disabled", "disabled");встановлює всі текстові поля у вимкненому режимі. Ви можете зробити іншим способом, таким як надання ідентифікатора кожного текстового поля Виконуючи цей код, вага буде більше, і питання щодо продуктивності буде там.

Тож краще мати $(':text').attr("disabled", "disabled");підхід.


0

Якщо у вас є readonlyатрибут, розмиття саме по собі не буде працювати. Договір нижче, повинен зробити цю роботу.

$ ('# myInputID'). removeAttr ('readonly'). тригер ('blur'). attr ('readonly', 'readonly');
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.