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