Unbind Backbone Voir les événements
J'ai le temps de chute des événements de hachage
events:
'click #someButton : 'someFunction'
Pour fermer la vue, j'ai essayé
close:
$("#someButton").unbind("click")
et
`close:
$("#someButton").remove()`
Mais someFunction est toujours tiré plus d'une fois. Comment puis-je séparer cet événement à partir du bouton?
J'ai aussi essayé de
$(@el).find("#someButton").unbind("click") as well
source d'informationauteur praks5432
Vous devez vous connecter pour publier un commentaire.
Backbone.js afficher les événements sont déléguées à la vue du
el
(il n'y a pas d'événement lié à votre#someButton
élément, mais plutôt lors d'un événement de clic bulles jusqu'à lael
il vérifie pour voir si l'événement provient d'un élément correspondant au sélecteur), ce qui est le cas pour supprimer l'événement que vous devez l'enlever de lael
par exempleSi vous souhaitez supprimer toutes les délégués des événements, vous pouvez simplement utiliser la vue du undelegate méthode
De Jack l'explication et de la réponse sont grands. Malheureusement, son exemple de code ne fonctionne pas pour moi. Au lieu d'utiliser:
J'ai eu à utiliser:
qui fait sens pour moi, parce que l'événement était lié à
this.$el
objet.À en ajouter d'autres, j'ai utilisé
this.$el.off();
à l'intérieur de l'initialiser à l'intérieur d'une sous-vue de détruire tous les événements liés à la sous-vue. Le même événement de feu X nombre de fois qu'une actualisation des données a été appelé.J'ai vu la copie de cibles à l'aide de:
Je voudrais ajouter un commentaire à une réponse, mais j'ai peu de réputation.