5.7.3.3 close
5.7.3.3.1 Déclenchement
Le document a été fermé (quelle que soit la cause : suppression, sauvegarde, changement de rendu, etc.).
cet événement est idéal pour supprimer les écouteurs qui ne sont plus nécessaires.
5.7.3.3.2 Éléments passés au callback
event
- objet événement standard de jQuery,
currentDocumentObject
- un objet document décrivant le document courant.
previousDocumentObject
- un objet document décrivant le document précédent.
5.7.3.3.3 Annulable
Non
5.7.3.3.4 Exemple
Cet exemple supprime tous les événements de type animal
.
Il doit être utilisé conjointement à l'événement ready
pour gérer l'enregistrement des événements.
window.dcp.document.documentController("addEventListener", "close", { "name": "removeAnimalsEvent", "documentCheck": function(document) { return document.family.name === "ANIMAL"; } }, function(event, document) { this.documentController("removeEventListener", ".animal"); } );
Exemple complet : ajout d'événements au ready
des documents de type ANIMAL
et suppression de ceux-ci au close des documents de type ANIMAL
.
//Ajout de l'événement au ready window.dcp.document.documentController("addEventListener", "ready", { "name": "addAnimalEvent", "documentCheck": function(document) { return document.family.name === "ANIMAL"; } }, function addAnimalEvents() { this.documentController("addEventListener", "beforeClose", { "name": "preventClose.animal", "documentCheck": function(documentObject) { return true; } }, function preventCloseAnimal(event, documentObject) { if (documentObject.renderMode === "edit" && this.documentController("getValue", "zoo_title").value !== "fermer") { event.preventDefault(); this.documentController("showMessage", { "type" : "error", "message" : "If you want close the doc, change the title to fermer" }); } }); } ); //Suppression de l'événement au close window.dcp.document.documentController("addEventListener", "close", { "name": "removeAnimalsEvent", "documentCheck": function(documentObject) { return documentObject.family.name === "ANIMAL"; } }, function(event, documentObject) { // Désenregistrement de addAnimalEvents this.documentController("removeEventListener", ".animal"); } );