Empêcher le tir le flou de l'événement si l'un de ses enfants reçoit le focus

J'ai un div sur une page qui affiche des informations sur une catégorie particulière (Image, Nom, etc).

Quand je clique sur modifier l'image qu'il met de la catégorie dans le mode d'édition qui me permet de mettre à jour le nom. Comme vous pouvez le voir sur l'image ci-dessous, il montre que la "Soupe" est actuellement en mode edit, les autres sont en mode normal mode. Tout cela fonctionne comme prévu avec les annuler /boutons enregistrer tout bon. (J'ai essayé d'ajouter une image, mais ne me laisse pas, besoin de plus d'amour)

Cependant une fois dans le mode edit, si je clique n'importe où sur la page (en Dehors de la div), le résultat attendu serait que la soupe catégorie pourrait revenir à la mode. Lors d'un événement, de tir, de la sorte, cela devrait aussi me permettre de demander si ils voulaient enregistrer les modifications.

Donc ce que j'ai alors décidé de faire est de créer un flou de l'événement sur les "soupes" div parent. Cela fonctionne comme prévu si je clique n'importe où sur la page, mais si je clique sur l'intérieure de l'élément de la div il provoque aussi des parents flou événement à feu, provoquant la catégorie pour revenir au mode d'affichage.

Alors, est-il un moyen d'empêcher la div parent de tirer le flou de l'événement si l'un de ses enfants de recevoir le focus?

<div tabindex="-1" onblur="alert('outer')">
    <input type="text" value="Soup" />
</div>

Je viens d'écrire du code sans un compilateur, donc pas sûr si cela fonctionne même mais avec qui, nous l'espérons, vous obtenez l'idée.

Je suis en utilisant Knockout.js pour mettre à jour l'interface graphique à la volée, mais qui ne devrait pas l'effet de cette réponse que je n'aurais pas pensé.

OriginalL'auteur Thwaitesy | 2012-08-23