J’utilise contenteditable = “true” dans un div
Ce que je veux faire pour basculer entre vrai et faux sur cet atsortingbut chaque fois que je clique sur un div.
Exemple:
$( "#mylabel" ).click(function() { $('#editablediv').attr('contenteditable','false'); });
J’ai essayé:
$( "#mylabel" ).toggle(function() { $('#editablediv').attr('contenteditable','false'); });
mais ça n’a pas marché
Comment puis-je faire ceci?
Essayez de cette façon:
$( "#mylabel" ).click(function() { var value = $('#editablediv').attr('contenteditable'); if (value == 'false') { $('#editablediv').attr('contenteditable','true'); } else { $('#editablediv').attr('contenteditable','false'); } });
Tenez-moi au courant, j’espère que cela vous a aidé
Voici plus court que votre plus court (réutilisabilité et nombre de caractères):
function editTheElement() { var a = "contenteditable"; $(this).attr(a) === 'true' ? $(this).attr(a,'false') : $(this).attr(a, 'true'); }
ou encore
function editTheElement(e) { var a = "contenteditable"; e.attr(a) === 'true' ? e.attr(a,'false') : e.attr(a, 'true'); }
ou
function editTheElement(e) { var a = 'contenteditable'; var v= e.attr(a); e.attr(a,!v); }
ou
function editTheElement(e) { var a = 'contenteditable'; e.attr(a,!e.attr(a)); }
ou
function editTheElement(e) { e.attr('contenteditable',!e.attr('contenteditable')); }
JS est amusant 🙂
La solution la plus courte que j’ai trouvée:
$('[contenteditable]').attr('contenteditable') === 'true' ? $('[contenteditable]').attr('contenteditable', 'false') : $('[contenteditable]').attr('contenteditable', 'true');
$('#mylabel').click(function() { editable = $('#editablediv').attr('contenteditable'); $('#editablediv').attr('contenteditable', !(editable == 'true')); });
En 2018 au moins, la plupart de ces réponses ne fonctionnent pas après la première activation / désactivation de Chrome 68. C’est quelque chose qui explique comment jQuery ou le navigateur lit la valeur de cet atsortingbut, car la logique est assez simple.
Le code que j’ai trouvé pour travailler était
var el = $("{your selector}") (el.attr('contenteditable') ? el.removeAttr('contenteditable') : el.attr('contenteditable', true));
Violon de démonstration