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.

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(); 

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

$(':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.


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');
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.