Jag implementerade placeholder="" med javascript:
http://simon.html5.org/sandbox/js/placeholder.js
Demo:
http://simon.html5.org/sandbox/js/placeholder-demo.htm
placeholder="" är implementerat i Safari sen 1.3 eller nåt sånt. Dock saknar Safari stöd för DOM-attributet, så det går inte kolla om det finns stöd med skript, så skriptet ovan kommer skriva över Safari:s implementation.
Skriptet verkar funka i Safari 3 och Opera 9.5. Det funkar inte i Firefox än pga bugg 396927 och funkar inte i IE7 då IE saknar stöd det mesta som skriptet använder.
Ett sätt att få det funka i Firefox skulle vara att loopa igenom alla <input>s och lägga till blur/focus event listeners när sidan laddas, men det funkar inte om man lägger till fler <input>s efteråt.
Det kanske går att få det funka i IE också, om man byter ut addEventListener mot attachEvent, DOMFocusIn/DOMFocusOut mot focus/blur (som beskrivet ovan), och sumpar stöd för DOM-attributet (eller finns det nåt sätt att implementera getters/setters i IE?).
http://simon.html5.org/sandbox/js/placeholder.js
Demo:
http://simon.html5.org/sandbox/js/placeholder-demo.htm
placeholder="" är implementerat i Safari sen 1.3 eller nåt sånt. Dock saknar Safari stöd för DOM-attributet, så det går inte kolla om det finns stöd med skript, så skriptet ovan kommer skriva över Safari:s implementation.

Skriptet verkar funka i Safari 3 och Opera 9.5. Det funkar inte i Firefox än pga bugg 396927 och funkar inte i IE7 då IE saknar stöd det mesta som skriptet använder.
Ett sätt att få det funka i Firefox skulle vara att loopa igenom alla <input>s och lägga till blur/focus event listeners när sidan laddas, men det funkar inte om man lägger till fler <input>s efteråt.
Det kanske går att få det funka i IE också, om man byter ut addEventListener mot attachEvent, DOMFocusIn/DOMFocusOut mot focus/blur (som beskrivet ovan), och sumpar stöd för DOM-attributet (eller finns det nåt sätt att implementera getters/setters i IE?).


Kommentera