Ich weiß, dass Internet Explorer das Platzhalterattribut für Eingabetags nicht unterstützt, aber 2012 muss es eine andere Lösung für den IE geben?
Antworten:
14 für die Antwort № 1Ich habe vor einiger Zeit ein jQuery-Plugin geschrieben, das jedem Browser, der es nicht unterstützt, Platzhalter-Unterstützung hinzufügt.
3 für die Antwort № 2
Eigentlich IE unterstützt das Platzhalterattribut 2012 (Version 10). Pärchen Sie dies mit eine polyfill für ältere Browser, und Sie sollten eine runde Lösung für Ihr Problem haben.
0 für die Antwort № 3
Wir verwenden dieses jQuery-Plugin bereits seit einigen Wochen in der Produktion und es scheint großartig zu funktionieren.
http://webcloud.se/code/jQuery-Placeholder/
0 für die Antwort № 4
http://the.deerchao.net/PlaceHolder es funktioniert zB ohne Aufruf einer Funktion ...
0 für die Antwort № 5
Probieren Sie dieses von mir entwickelte jQuery-Plugin aus
https://github.com/ramsunvtech/jQuery-Plugins/tree/master/IEPlaceHolder
0 für die Antwort № 6
Ja, es gibt eine recht einfache Lösung für IE8 und IE9, da sie auf größeren Versionen von IE bereits funktioniert. (IE10, IE11 usw.)
Dies ist die Lösung, die ich gefunden habe:
1. Ermitteln Sie die Internet Explorer-Version
<!--[if lt IE 10]>
<script type="text/javascript">var ie = 9;</script>
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript">var ie = 8;</script>
<![endif]-->
2. Fixieren Sie den Platzhalter
if (typeof ie == "undefined") var ie = 10;
if (ie == 8 || ie == 9){
$("input[placeholder]").each(function() {
this.value = $(this).attr("placeholder");
});
$("input[placeholder]").focus(function()
if (this.value == $(this).attr("placeholder")) this.value = "";
}).blur(function() {
if (this.value == "")
this.value = $(this).attr("placeholder");
});
}