prega di controllare il mio jsfiddleCome attivare l'autofocus in Internet Explorer?
Come posso fare questo su messa a fuoco automatica, come lo è per Chrome, Safari, Opera e Firefox per IE?
prega di controllare il mio jsfiddleCome attivare l'autofocus in Internet Explorer?
Come posso fare questo su messa a fuoco automatica, come lo è per Chrome, Safari, Opera e Firefox per IE?
Dovrai fare affidamento su javascript per eseguire questa operazione, poiché l'autofocus html5 non è supportato in IE. C'è una buona post del blog su di esso qui: http://www.html5tutorial.info/html5-autofocus.php
In sostanza, in primo luogo verificare se l'attributo è supportato, e quindi utilizzare Javascript per mettere a fuoco manualmente in detto ingresso utilizzando il metodo focus()
se non lo è.
autofocus in IE è è solo
<input type="text" id="searchbar" autofocus />
non
<input type="text" id="searchbar" autofocus="autofocus"/>
Vedi http://msdn.microsoft.com/en-us/library/windows/apps/hh441087(v=vs.85).aspx per maggiori informazioni.
Ti stai sbagliando. Entrambe le sintassi funzionano in tutti i browser che supportano 'autofocus'. Tuttavia, Internet Explorer lo supporta solo dalla versione 10. – duri
Quindi, come faccio a includere entrambi in modo che funzioni in entrambi i browser? – James
Questo non è corretto. Vedi http://stackoverflow.com/a/25449778/1430996 –
solito utilizzare jQuery:
$('input').focus()
esempio dal vivo: http://jsfiddle.net/simply_simpy/eb4JJ/5/
Questo è il metodo migliore, poiché funziona su tutti i browser. – DannyCruzeira
Ecco una battuta (beh, una riga della logica reale) che utilizza jQuery per rendere il lavoro messa a fuoco automatica in IE. Si mette in guardia se lo stato attivo è già impostato - in altre parole, in qualsiasi browser che supporti HTML5.
$(function() {
$('[autofocus]:not(:focus)').eq(0).focus();
});
Ho spiegato come funziona in my blog. E here è un jsFiddle aggiornato che funziona in IE.
Cosa succede se c'è (per errore) * due * elementi con l'attributo 'autofocus'? Nei browser compatibili, questo codice non troverà il secondo elemento (non focalizzato) e metterà invece a fuoco l'obiettivo? – xec
No, @xec, questo è ciò che il '.eq (0)' è per. Inoltre, se ci sono due elementi "autofocus", allora questo è un bug nella pagina e non importa quale sia il focus, giusto? –
Il '.eq (0)' viene chiamato dopo che viene eseguito il selettore ': not (: focus)', quindi non fa differenza. Sono d'accordo sul fatto che non è un grosso problema, ma è solo un bug quando l'html non è valido. In ogni caso, credo che $ $ ('[autofocus]'). Focus() 'dovrebbe essere sufficiente. – xec
A partire da oggi, 13/12/2016, la parola chiave autofocus funziona in IE 11.0.36 su Windows 10 ma non su IE 11.0.35 su Windows 7. Come molto irritante. –