Solite stranezze di Explorer

maggio 20, 2009
By

Grazie al cielo Explorer sta iniziando ad uscire di scena. Per chi come me scrive molto per il web questo non è che un bene.

Al momento però tocca ancora tenerselo, quindi quando vengono fuori «quirks» come quello che segue bisogna trovare anche la soluzione.

Il problema sto giro era un box di testo che fa da filtro, ciclando tutti i figli di un contenitore e guardando se indexOf(stringaDiRicerca) valida, nel qual caso .css(‘display’,’block’); altrimenti  .css(‘display’,’none’); Fin qui tutto bene. Oltre a restringersi però il filtro deve potersi allargare, quindi sul backspace (keycode 8) faccio un stringaDiRicerca.slice(0,-1)

Ecco che sorge il problema con explorer.

Al componente ho attaccato l’evento keypress di jQuery. Su Explorer questo evento non scatta alla pressione del backspace, il keydown sì

Guardando meglio la documentazione di jQuery salta fuori quanto segue:

Binds a function to the keypress event of each matched element.
The keypress event fires when a key on the keyboard is “clicked”. A keypress is defined as a keydown and keyup on the same key. The sequence of these events is:

  • keydown
  • keypress
  • keyup
// backspace in IE only be on keydown

Un RTFM per me e un vaffa per explorer.
Thumbs up per jQuery invece

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


*