Nous avons un système Web qui utilise une combinaison d'événements OnBlur et OnMouseDown. Malheureusement, pour une raison étrange, le gestionnaire d'événement OnMouseDown est déclenché avant d'appeler le gestionnaire d'événement OnBlur.Définition des priorités sur les événements HTML
Ce n'est pas ce que nous voulons. Au lieu de cela, nous souhaitons toujours appeler le gestionnaire d'événements OnBlur avant d'appeler le gestionnaire d'événement onMouseDown. Y a-t-il un moyen de le faire, en donnant peut-être à l'onBlur une priorité plus élevée?
Auparavant, au lieu d'utiliser le gestionnaire d'événements onMouseDown, nous avions l'événement onclick. Cependant, cela posait un certain nombre de problèmes en particulier en raison de la nature mono-thread de JavaScript.
Cela dépend du navigateur. – voyager
Certainement c'est. Il est toujours difficile d'écrire du code sur plusieurs navigateurs. Cependant, nous pouvons sans risque faire l'hypothèse que nous visons IE. Ce qui est également étrange, c'est que lorsque je remplace l'onmousedown par l'événement onclick, alors que seul le gestionnaire d'événement onblur est appelé et que cela fonctionne, le gestionnaire onclick n'est pas appelé quand je suis sur un champ avec le ensemble d'événements onblur. Avec l'onmousedown nous sommes presque là mais l'événement onblur se déclenche après l'onmousedown qui n'est pas ce que nous voulons. – user164701
Je pense que mousedown puis flou est assez standard dans ce cas. Souvenez-vous qu'un gestionnaire d'événements onmousedown peut renvoyer false, auquel cas le changement de focus ne se produit pas. onclick devrait généralement fonctionner; peut-être afficher le code qui ne fonctionne pas là? – bobince