2010-03-09 6 views
5

J'essaie d'utiliser l'événement onblur pour fermer une fenêtre. Cela fonctionne très bien dans IE, Firefox et Safari, mais l'événement ne se déclenche pas en chrome. est-ce un bug en chrome ou une erreur de ma partévénement onblur ne fonctionne pas avec google chrome

+0

essayez-vous d'utiliser window.onBlur? Pourriez-vous fournir un exemple de code - il est plus facile pour tout le monde de vous aider alors. – Kinlan

+1

J'ai le même problème. – NLV

+0

Vous devriez vraiment ajouter un exemple de code à votre question – Black

Répondre

8

Je me suis rendu compte que c'était il y a plus d'un an, mais c'est apparu pour moi dans Google en essayant de résoudre ce même problème.

Il semble que Chrome ne considère pas certains éléments, comme le corps et les ancrages, comme «focalisables». Selon la page suivante, vous pouvez faire tout focalisable élément (activant ainsi l'événement de flou) en réglant le tabindex attribut: http://www.quirksmode.org/dom/events/blurfocus.html

comme ceci:

<a href="#" tabindex="0" onblur="alert('blur')"> blur me </a> 
+0

Une bonne solution, mais ne semble pas fonctionner pour les éléments 'button'. – tagawa

0

Chrome accepte OnBlur événement. ce que j'ai l'expérience est ... sur cocher ou décocher de checkbox, chrome ne se concentre pas dessus.

Ajouter un attribut

onclick="this.focus()" onblur="yourMethod()"/> 

vous verrez ça fonctionne très bien alors.

0

Je viens de croiser cette question ...

onBlur (avec un "B") ne fonctionne pas, mais onblur (minuscule "b") fait. Allez comprendre! ; -/

+1

Il n'y a rien dans la langue qui suggère que ce soit autre chose que toutes les minuscules. –

+3

Eh bien, oui c'est le cas! Tout est camelcase sauf ça! –

Questions connexes