Чи існує метод розфокусування jQuery?


193

Як я можу відфокусувати текстову область або ввід? Не вдалося знайти $('#my-textarea').unfocus();метод?


також не функція jQuery, .focusout()яка дещо відрізняється від blur() api.jquery.com/focusout , цитуючи docThis is distinct from the blur event in that it supports detecting the loss of focus on descendant elements (in other words, it supports event bubbling)
Adrien Be

Відповіді:


336
$('#textarea').blur()

Документація за адресою: http://api.jquery.com/blur/


Дивно. Я намагаюся розмити () перед тим, як вікно втратить фокус, так що коли я повертаюся, область тексту не вибирається за замовчуванням. Здається, не працює :(
Alec Smart

щось на зразок $ ('window'). blur (function () {$ ('# textarea'). blur ();});
Алек Смарт

можливо, вам потім потрібно розмити область тексту на фокусі вікна?
Джефф

7
можливо, ви намагаєтеся зв’язати подію до завантаження DOM. Спробуйте ввести код у готовий обробник сторінки так: $ (document) .ready (function () {$ ('# textarea'). Blur ()})

відмінно працює з $('#textarea').bind('blur', function() ...)також
Федір Рихтік

10

Виходячи з вашого запитання, я вважаю, що відповідь полягає в тому, як викликати розмиття , а не просто (або навіть) встановити подію:

 $('#textArea').trigger('blur');

Ця відповідь мала більше сенсу для мене. Мені хотілося знати, як скасувати виділення або зробити введення тексту не зосередженим. Я знав, що існує .blur (), але я не дуже зрозумів правильний синтаксис для цього використання. +1
Partack

7
Без параметрів .blur()- це ярлик для .trigger("blur") api.jquery.com/blur
andreszs

7

Вгадайте, що ви шукаєте .focusout()


10
-1 focusoutзапускається лише після того, як вхід вже починає втрачати фокус. Запитуючий хоче ввести елемент у цей стан обробника зворотного виклику soa, він не зробить його гарним developer.mozilla.org/en-US/docs/Web/Reference/Events/focusout api.jquery.com/focusout
buley

Я шукав цей метод, і це був перший результат google для "jquery select unfocus"
машина, яка


0

Мені подобається такий підхід, оскільки він працює в усіх ситуаціях:

$(':focus').blur();

-12

Так ви можете це зробити

$('#textarea').attr('enable',false)

спробуйте і дайте відгуки


11
Це відключить область тексту, а не розфокусує її.
Куроцукі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.