/ / Platzhalterattribut bei Eingabe-Tags für IE? - css, Internet-Explorer

Platzhalterattribut auf Eingabetags für IE? - css, Internet-Explorer

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 № 1

Ich habe vor einiger Zeit ein jQuery-Plugin geschrieben, das jedem Browser, der es nicht unterstützt, Platzhalter-Unterstützung hinzufügt.

Platzhaltertext im IE


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");
});
}