2010-06-26 7 views
4

J'ai remarqué que, dans Google Chrome, la définition d'un <option> comme sélectionné via Javascript ne déclenche pas l'événement de modification de la balise <select> respective. Est-ce que je peux compter sur ce comportement vrai dans tous les autres navigateurs modernes?Est-ce que je déclencherai un événement de changement si j'utilise Javascript pour définir un <option> comme sélectionné?

+0

Vous pouvez toujours essayer. Je dirais oui, probablement. Vous devez généralement appeler 'element.onchange()' manuellement si vous modifiez la valeur du contrôle de formulaire par programmation. – Rob

Répondre

1

Définition d'une option aussi sélectionnée via JavaScript ou sélectionner une option en se concentrant ensuite à l'aide de haut en bas pour sélectionner, ne sont pas acceptées comme un événement par l'événement onchange() handler comme en témoigne les liens suivants:




PS: Une situation similaire a eu lieu quand j'ai essayé d'évoquer<element onmousedown="doStuff();">en appelantelement.click();

0

Oui, cela devrait être vrai. Dans mon expérience cela fonctionne dans IE 6, Chrome, FF et Safari. Je suis d'accord que le test dans tous les navigateurs que vous avez l'intention de soutenir est sensible si!

1

La définition d'une valeur pour n'importe quel champ dans JavaScript ne doit déclencher aucun événement.

Si c'était le cas, vous finiriez dans une boucle sans fin d'événements.

Si vous le souhaitez, vous pouvez "appeler" l'événement de modification manuellement.

0

option: sélectionné oui cela fonctionne je l'ai juste utilisé moi-même. Même tenue vrai dans IE 6 - IE 8 webkit et FF