2009-05-13 3 views
168

Как сфокусировать текстовое поле или вход? Я не мог найти метод $('#my-textarea').unfocus();?Есть ли метод jQuery unocus?

+0

также не функция JQuery '.focusout()', который немного отличается от 'blur()' http://api.jquery.com/focusout/, цитируя doc 'Это отличается от события размытия тем, что он поддерживает обнаружение потери фокуса на элементах-потомках (другими словами, он поддерживает пузырьки событий) ' –

ответ

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

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

+0

Странно. Я пытаюсь размыть(), прежде чем окно потеряет фокус, так что, когда я вернусь, текстовая область по умолчанию не будет выбрана. Кажется, что не работает :( –

+0

что-то вроде $ ('window'). Blur (function() { $ ('# textarea'). Blur(); }); –

+0

возможно, вам нужно размыть текстовую область на фокусе окна тогда? – Geoff

6

Угадайте вы ищете .focusout()

+8

-1 'focusout' только уволен после того, как вход уже начал терять фокус. Вопросник хочет поместить элемент в это состояние. Обработчик обратного вызова soa не сделает ему ничего хорошего. https://developer.mozilla.org/en-US/docs/Web/Reference/Events/ focusout http://api.jquery.com/focusout/ – buley

+0

Я искал этот метод, и это был первый результат google для «jquery select unocus» –

-10

Таким образом, вы можете сделать это

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

попробовать и дать обратную связь

+8

Он отключит текстовую область, а не расфокусирует ее. – Kurotsuki

8

Основываясь на ваш вопрос , Я считаю, что ответ: триггер пятно, а не только (или даже) установить событие:

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

Этот ответ дал мне больше смысла. Я хотел бы знать, как снять выделение или сделать ввод текста нецелесообразным. Я знал, что .blur() существует, но я действительно не понял правильного синтаксиса для этого использования. +1 – Partack

+4

Без параметров '.blur()' является ярлыком для '.trigger (" blur ")' http://api.jquery.com/blur/ – andreszs

0

Это работает для меня:

// Document click blurer 
$(document).on('mousedown', '*:not(input,textarea)', function() { 
    try { 
     var $a = $(document.activeElement).prop("disabled", true); 
     setTimeout(function() { 
      $a.prop("disabled", false); 
     }); 
    } catch (ex) {} 
}); 
Смежные вопросы