Comment puis-je flouer un div où contentEditable = true?

Comment puis-je flou / mise au point une div où contentEditable = true ? J'ai essayé $(elm).blur() et $(elm).attr('contentEditable', false);

$("div[contentEditable]").blur() pour flouer tous les éléments contentEditable.

$("#elementId").blur() pour flouer un élément par son id .

J'ajouterais une autre solution basée sur la réponse d'Omnicon qui est correcte BTW. J'ai biffer son violon et l' ai mis à jour .

L'astuce consiste à supprimer toutes les plages après avoir appelé le flou:

 $(".editable").blur(); window.getSelection().removeAllRanges(); 

La solution proposée par Roman Resh ne fonctionne pas lorsque vous cliquez sur l'élément et appuyez sur Entrée immédiatement après. Il ne brouillera pas, mais créera des séances de ligne / divs.

Il est possible d'éviter tout ce comportement.

Voir cette violon

$('<div class="temp-contenteditable-el" contenteditable="true"></div>') .appendTo('body').focus().remove();

En ajoutant à toutes les réponses, lorsque vous utilisez quelque chose comme

 $(".editable").blur() 

Pense au flou uniquement concentré, comme

 $(".editable:focus").blur() 

Sinon, vous pouvez entrer dans de beaux problèmes parfois