Bagaimana cara menghapus fokus dari bidang input di jQuery?

136

Saya menetapkan fokus pada bidang input tertentu saat memuat halaman menggunakan baris berikut:

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

Apakah ada cara saya dapat membatalkan atau menghapus fokus ini ketika mengarahkan elemen tertentu ? (Fokus tidak harus diatur ulang setelah meninggalkan elemen ini.)

Saya tidak dapat menemukan fungsi yang berlawanan dengan di atas di jQuery atau akan berfungsi di sini.

pengguna2571510
sumber

Jawaban:

227

Gunakan .blur () .

Acara blur dikirim ke elemen saat kehilangan fokus. Awalnya, acara ini hanya berlaku untuk elemen bentuk, seperti <input>. Di browser terbaru, domain acara telah diperluas untuk mencakup semua jenis elemen. Suatu elemen dapat kehilangan fokus melalui perintah keyboard, seperti tombol Tab, atau dengan klik mouse di tempat lain pada halaman.

$("#myInputID").blur(); 
Milind Anantwar
sumber
Ok, jadi saya pikir saya melakukan sesuatu yang salah di sini atau saya menggambarkan ini dengan cara yang salah. Elemen yang ingin saya gunakan di sini memiliki kelas navbar (ini adalah Bootstrap 3 navbar) jadi saya mencoba yang berikut tetapi ini tidak berfungsi: $ ('. Navbar') di ('mouseover', function () {$ ( '#myInputID'). blur ();});
user2571510
Ya saya lakukan itu. Jika ini tidak berhasil, bisakah saya mengatur fokus pada navbar saja?
user2571510
1
@ user2571510: coba beri peringatan di dalam acara dan lihat apakah dipecat atau tidak.
Milind Anantwar
Ya, lansiran menunjukkan tetapi tidak menghapus fokus dari bidang.
user2571510
1
@ user2571510: apakah Anda memiliki duplikat id di halaman ?? coba gunakan$("[id=myInputID]").blur();
Milind Anantwar
0

Untuk semua kotak teks:

$(':text').blur()
Mujthaba Ibrahim
sumber
0

$(':text').attr("disabled", "disabled");setel semua kotak teks ke mode dinonaktifkan. Anda dapat melakukannya dengan cara lain seperti memberikan setiap id kotak teks. Dengan melakukan ini, bobot kode akan lebih banyak dan masalah kinerja akan ada.

Jadi lebih baik punya $(':text').attr("disabled", "disabled");pendekatan.

Vinayak
sumber
0

Jika Anda memiliki readonly atribut, blur dengan sendirinya tidak akan berfungsi. Alat di bawah ini harus melakukan pekerjaan.

$ ('# myInputID'). removeAttr ('readonly'). trigger ('blur'). attr ('readonly', 'readonly');
Jeffz
sumber