J'affecte un gestionnaire onclick à une case à cocher. Parfois javascript qui fait la liaison de l'événement s'exécute plus d'une fois (sur les postbacks partiels) et le gestionnaire est assigné deux fois. Comment puis-je empêcher l'assignation multiple du gestionnaire?jQuery/javascript - Câbler le gestionnaire d'événements uniquement lorsque ce n'est pas déjà attribué
Bon merci pour les réponses. J'ai écrit quelque chose pour savoir si l'élément a une hanlder:
$.fn.hasHandler = function(eventName, handler)
{
var _hasHandler = false;
if(handler != undefined && this.data("events") !== null && this.data("events") !== undefined)
{
$.each(this.data("events"), function(name, handlers)
{
if(name === eventName)
{
$.each(handlers, function(index, value)
{
if(value.handler === handler)
{
_hasHandler = true;
}
});
}
});
}
return _hasHandler;
}
Si vous recherchez des publications partielles, réattribuez-vous le gestionnaire parce que l'élément a été recréé? – StuperUser
IMO vous devez améliorer votre structure un peu comme l'attribution d'événements dans le code JS qui est rendu sur des publications partielles n'est pas vraiment une bonne idée. J'aimerais savoir votre cas d'utilisation pourquoi vous ne pouvez pas tirer le code de l'événement à javascript large applicaton? – neebz