Bir jQuery odaklanma yöntemi var mı?


193

Bir metin alanını veya girdiyi nasıl odaklayabilirim? Bir $('#my-textarea').unfocus();yöntem bulamadım ?


Ayrıca .focusout(), blur() api.jquery.com/focusout'tan biraz farklı olan jQuery işlevi değil, doktordan alıntıThis 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

Yanıtlar:


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

Dokümanlar: http://api.jquery.com/blur/


Garip. Ben geri geldiğimde, metin alanı varsayılan olarak seçili olmayan böylece pencere odak kaybetmeden önce blur () çalışıyorum. Çalışmıyor gibi görünüyor :(
Alec Smart

$ ('window') gibi bir şey. blur (function () {$ ('# textarea'). blur ();});
Alec Smart

belki o zaman pencere odak metin alanını bulanıklaştırmanız gerekir?
Geoff

7
DOM yüklenmeden önce etkinliği bağlamaya çalışıyor olabilirsiniz. Kodu sayfanın hazır işleyicisine şu şekilde koymaya çalışın: $ (document) .ready (function () {$ ('# textarea'). Blur ()})

uyumlu şekilde çalıştığını $('#textarea').bind('blur', function() ...)da
Fedir RYKHTIK

10

Sorunuza dayanarak, cevabın yalnızca (veya hatta) etkinliği ayarlamak için bir bulanıklaştırmanın nasıl tetikleneceğine inanıyorum :

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

Bu cevap bana daha mantıklı geldi. Metin girişimin işaretini nasıl kaldıracağımı veya odak dışı bırakacağımı bilmek istedim. .Blur () var olduğunu biliyordum ama bu kullanım için doğru sözdizimini gerçekten anlamadım. +1
Partack

7
Parametresiz, api.jquery.com/blur.blur() için bir .trigger("blur") kısayoldur
andreszs


0

Bu benim için çalışıyor:

// 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) {}
});

0

Tüm durumlar için geçerli olduğu için aşağıdaki yaklaşımı seviyorum:

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

-12

Böylece bunu yapabilirsiniz

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

dene ve geri bildirim ver


11
Metin alanını, odaklamayı değil devre dışı bırakır.
Kurotsuki
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.