1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| <!DOCTYPE HTML>
<html>
<head>
<title>EDIT</title>
</head>
<body>
<script>
var parent = document.createElement('p');
var edit = document.createTextNode('Paragraphe éditable');
// donne une portée globale à la variable "textarea"
var textarea;
parent.appendChild(edit);
// ajoute l'objet l'élément parent au body de la page
document.body.appendChild(parent);
parent.addEventListener('click', edite);
function edite(event)
{
// enlève l'écouteur d'événement de l'élément "parent"
parent.removeEventListener('click', edite);
var txt = event.target.innerHTML;
textarea = document.createElement("textarea");
textarea.value = txt;
parent.replaceChild(textarea,edit) ;
var b = document.createElement('button');
b.innerHTML = 'Valider';
// ajoute le bouton dans le body de la page
document.body.appendChild(b);
b.addEventListener('click', confirme);
}
function confirme(event)
{
var bout = event.target;
// efface le bouton
document.body.removeChild(bout);
// remet l'écouteur d'événement sur l'élément "parent"
parent.addEventListener('click', edite);
var nvtxt = textarea.value;
parent.replaceChild(edit,textarea);
// met à jour la valeur du noeud texte
edit.nodeValue= nvtxt;
}
</script>
</body>
</html> |
Partager