Hallo,
Das Registrieren der Event-Handler funktioniert hervorragend. Du hast dir allerdings ein ganz anderes Problem gebaut. Dein Aufbau ist sehr kompliziert und überladen. Ich weiß nicht, ob das nötig ist.
Jedenfalls gibst du drei verschachtelten Elementen jeweils Click-Event-Handler. Wenn du auf den Save-Button klickst, wird div_editieren aufgerufen. Darin setzt du die Event-Handler für zwei Divs weiter oben in der Element-Hierarchie. Der click-Event steigt nun auf (Bubbling) und löst auch diese beiden Handler aus. Diese führen jeweils div_markieren aus – also die Gegenfunktion. Klar, dass das nicht funktioniert. Er springt zurück in den Normalmodus und sofort wieder in den Editier-Modus.
Am besten überdenkst du diese Struktur einmal. Was du konkret ändern kannst, ist das Bubbling des click-Events beim Save-Button:
contentDiv.innerHTML = '<input id="edit" type="text" name="bubbleedit" value=""><input type="button" id="save-button" value="Save">';
document.getElementById("save-button").onclick = function (e) {
e.stopPropagation();
div_editieren(divID);
};
Siehe Bubbling verhindern.
Mathias