J'essaie de dissocier l'événement click et d'attacher un autre événement de clic après avoir cliqué une fois sur le bouton.Essayer de dissocier un événement de clic et d'attacher un nouvel événement
<small id="selectall_agriculture" onclick="refineSearch.testing('agriculture')">(select all)</small>
Une fois la fonction de test est exécuté, je veux la fonction selectAllPropertyTypesInGroup() pour exécuter, mais au contraire, la fonction de test est appelé à chaque fois. Si je retire l'événement onclick de la petite balise et déclenche setGroupHeaderNotAllSelected() à partir d'un autre contrôle frontal, l'événement click créé avec $ ('# selectall_' + groupName) .click() dans la fonction setGroupHeaderNotAllSelected() fonctionne . J'ai l'impression que le unbind ne fonctionne pas parce que l'événement click est codé en dur dans la petite balise. Aucune suggestion?
refineSearch.testing = function (groupName) {
console.log("Click event from front end running instead of the one binded");
setGroupHeaderNotAllSelected (groupName);
};
var setGroupHeaderNotAllSelected = function (groupName) {
$('#selectall_' + groupName).unbind('click');
$('#selectall_' + groupName).click(function() {
selectAllPropertyTypesInGroup(groupName);
return false;
});
};
changement .cliquez, pour lier (clic? –
Supprimez l'attribut 'onclick' et joindre l'événement à l'aide à la place discrète JS (par exemple jQuery 'on()'), puis utilisez 'off()' pour supprimer l'événement en cours avant d'ajouter le nouveau –
@RoryMcCrossan Je ne crois pas que 'off()' puisse "dissocier" les gestionnaires d'événements inline Cependant, vous pouvez définir l'attribut 'onclick' sur null ce qui le désengagera effectivement – gforce301