Apakah ada metode jQuery unfocus?

193

Bagaimana saya bisa tidak memfokuskan teks atau input? Saya tidak dapat menemukan $('#my-textarea').unfocus();metode?

Alec Smart
sumber
juga bukan fungsi jQuery .focusout()yang sedikit berbeda dari blur() api.jquery.com/focusout , mengutip dokumenThis 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

Jawaban:

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

Dokumentasi di: http://api.jquery.com/blur/

RichieHindle
sumber
Aneh. Saya mencoba mengaburkan () sebelum jendela kehilangan fokus sehingga ketika saya kembali, area teks tidak dipilih secara default. Tampaknya tidak berfungsi :(
Alec Smart
sesuatu seperti $ ('window'). blur (function () {$ ('# textarea'). blur ();});
Alec Smart
mungkin Anda perlu mengaburkan area teks pada fokus jendela?
Geoff
7
mungkin Anda mencoba untuk mengikat acara sebelum DOM dimuat. Cobalah untuk meletakkan kode di penangan siap halaman seperti ini: $ (document) .ready (function () {$ ('# textarea'). Blur ()})
bekerja dengan baik $('#textarea').bind('blur', function() ...)juga
Fedir RYKHTIK
10

Berdasarkan pertanyaan Anda, saya yakin jawabannya adalah bagaimana memicu keburaman , bukan hanya (atau bahkan) mengatur acara:

 $('#textArea').trigger('blur');
sonjz
sumber
Jawaban ini lebih masuk akal bagi saya. Saya ingin tahu cara menghapus sorotan atau membuat input teks saya tidak fokus. Saya tahu .blur () ada tetapi saya tidak benar-benar mengerti sintaks yang benar untuk penggunaan ini. +1
Partack
7
Tanpa parameter, .blur()adalah jalan pintas untuk .trigger("blur") api.jquery.com/blur
andreszs
0

Ini bekerja untuk saya:

// 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) {}
});
d'Artagnan Evergreen Barbosa
sumber
0

Saya suka pendekatan berikut karena berfungsi untuk semua situasi:

$(':focus').blur();
Javid
sumber
-12

Jadi kamu bisa melakukan ini

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

Cobalah dan berikan umpan balik

lol
sumber
11
Ini akan menonaktifkan area teks, bukan memfokusnya.
Kurotsuki