Meddelande

Minska
No announcement yet.

<input placeholder>

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • <input placeholder>

    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?).
    Last edited by zcorpan; 2007-09-21, 14:29. Anledning: s/demo.js/demo.htm/
    Simon Pieters

  • #2
    Fast du skulle ju kunna göra något så fult som en UA-sniff för att slippa skriva över safaris implementation.

    Safari har inte stöd för document.compatMode heller om jag inte minns fel. Fast det gäller ju samtliga versioner.

    Din länk ska väl dessutom vara: http://simon.html5.org/sandbox/js/placeholder-demo.htm och inte .js
    Last edited by colione; 2007-09-20, 23:44.
    Min alldeles egna directory listing.

    Kommentera


    • #3
      Det kanske man kan göra, men jag tycker inte om att sniffa och så vitt jag kan se märker man ingen skillnad, så det gör inte så mycket.

      Oops... fixade länken.
      Simon Pieters

      Kommentera

      Working...
      X