Come rimuovere lo stato attivo dal campo di input in jQuery?


136

Sto impostando lo stato attivo su un determinato campo di input durante il caricamento di una pagina utilizzando la seguente riga:

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

C'è un modo in cui posso annullare o rimuovere questo focus quando si passa con il mouse su un determinato elemento ? (Non è necessario ripristinare la messa a fuoco dopo aver lasciato questo elemento.)

Non sono riuscito a trovare una funzione che è l'opposto di quanto sopra in jQuery o altrimenti funzionerebbe qui.

Risposte:


227

Usa .blur () .

L'evento di sfocatura viene inviato a un elemento quando perde lo stato attivo. Inizialmente, questo evento era applicabile solo agli elementi del modulo, ad esempio <input>. Nei browser recenti, il dominio dell'evento è stato esteso per includere tutti i tipi di elementi. Un elemento può perdere la messa a fuoco tramite i comandi da tastiera, come il tasto Tab, o facendo clic con il mouse altrove sulla pagina.

$("#myInputID").blur(); 

Ok, quindi penso di aver fatto qualcosa di sbagliato qui o l'ho descritto nel modo sbagliato. L'elemento che voglio usare qui ha la classe navbar (è una navbar Bootstrap 3) quindi ho provato quanto segue ma questo non funziona: $ ('. Navbar'). On ('mouseover', function () {$ ( '#myInputID'). blur ();});
user2571510

Sì, l'ho fatto. Se questo non funziona potrei semplicemente impostare lo stato attivo sulla barra di navigazione invece?
user2571510

1
@ user2571510: prova a dare un avviso all'interno dell'evento e verifica se viene generato o meno.
Milind Anantwar,

Sì, l'avviso mostra ma non rimuove lo stato attivo dal campo.
user2571510

1
@ user2571510: hai ID duplicati nella pagina ?? prova a usare$("[id=myInputID]").blur();
Milind Anantwar il



0

$(':text').attr("disabled", "disabled");imposta tutta la casella di testo in modalità disabilitata. Puoi farlo in un altro modo come dare ogni ID casella di testo. In questo modo il peso sarà maggiore e il problema di prestazioni sarà presente.

Quindi meglio avere un $(':text').attr("disabled", "disabled");approccio.


0

Se hai un readonlyattributo, la sfocatura da sola non funzionerebbe. Il contenimento di seguito dovrebbe fare il lavoro.

$ ( '# MyInputID') removeAttr ( 'sola lettura') trigger ( 'sfocatura') attr ( 'sola lettura', 'sola lettura')...;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.