proszę sprawdzić moje jsfiddleJak wprowadzić autofocus wprowadzania danych w przeglądarce Internet Explorer?
Jak mogę zrobić to na autofokusem jak to jest dla Chrome, Safari, Opera lub Firefox dla IE?
proszę sprawdzić moje jsfiddleJak wprowadzić autofocus wprowadzania danych w przeglądarce Internet Explorer?
Jak mogę zrobić to na autofokusem jak to jest dla Chrome, Safari, Opera lub Firefox dla IE?
Będziesz musiał polegać na javascript, aby to zrobić, ponieważ Autofocus html5 nie jest obsługiwany w IE. Tutaj jest dobry blog na ten temat: http://www.html5tutorial.info/html5-autofocus.php
Zasadniczo najpierw sprawdź, czy atrybut jest obsługiwany, a następnie użyj javascript, aby ręcznie ustawić ostrość we wspomnianym sygnale wejściowym, używając metody focus()
, jeśli tak nie jest.
autofocus w IE jest to tylko
<input type="text" id="searchbar" autofocus />
nie
<input type="text" id="searchbar" autofocus="autofocus"/>
Zobacz http://msdn.microsoft.com/en-us/library/windows/apps/hh441087(v=vs.85).aspx aby uzyskać więcej informacji.
Mylisz się. Obie składnie działają we wszystkich przeglądarkach obsługujących 'autofocus'. Jednak przeglądarka Internet Explorer obsługuje go tylko od wersji 10. – duri
Więc w jaki sposób mogę uwzględnić oba, aby działał w obu przeglądarkach? – James
To jest nieprawidłowe. Zobacz http://stackoverflow.com/a/25449778/1430996 –
To najlepsza metoda, ponieważ ta praca we wszystkich przeglądarkach. – DannyCruzeira
Oto jedna wkładka (no, jedna linia rzeczywistego logiki), który używa jQuery zrobić pracę autofokusa w IE. Wygrywa, jeśli fokus jest już ustawiony - innymi słowy, w dowolnej przeglądarce obsługującej HTML5.
$(function() {
$('[autofocus]:not(:focus)').eq(0).focus();
});
Wyjaśniłem, jak to działa in my blog. I here jest zaktualizowanym jsFiddle, który działa w IE.
Co jeśli jest (omyłkowo) * dwa * elementy z atrybutem 'autofocus'? Czy w zgodnych przeglądarkach ten kod nie znajdzie drugiego (nieaktywnego) elementu i zamiast tego ustawi fokus? – xec
Nie, @xec, do czego służy '.eq (0)'. Poza tym, jeśli są dwa elementy "autofokusa", to jest to błąd na stronie i naprawdę nie ma znaczenia, który z nich się skupi, prawda? –
'.eq (0)' jest wywoływane po uruchomieniu selektora ': not (: focus)', więc to nie ma znaczenia. Zgadzam się, że to nie jest duży problem, to tylko błąd, gdy html jest nieprawidłowy. W każdym razie uważam, że '$ ('[autofocus]'). Focus()' powinien wystarczyć. – xec
Na dzień dzisiejszy, 12/13/2016, słowo kluczowe autofocus działa w IE 11.0.36 na Windows 10, ale nie na IE 11.0.35 na Windows 7. Jak bardzo irytuje. –