Est-il possible de détecter quand jQuery a déclenché sa méthode .hide()
sur un élément? J'ai essayé - http://jsfiddle.net/Snvgr/ - mais en vain.Détection lorsque la méthode hide() de jQuery est déclenchée sur un élément
2
A
Répondre
5
Vous pouvez le faire en remplaçant la méthode de peau de JQuery:
var oldHide = $.fn.hide;
$.fn.hide = function() {
alert("Hidden");
oldHide.apply(this, arguments);
}
... comme le montre here.
1
tout le temps? ou juste pour le débogage?
Vous pouvez simplement utiliser la fonction de rappel pour écrire quelque chose dans le journal.
$('#my-id').hide(duration, function(){ console.log('fired!'); });
pourquoi le feriez-vous? que se passe-t-il si un plugin que vous n'avez pas écrit s'attend à ce que hide fonctionne d'une certaine manière? –
@David Meister: Pour savoir pourquoi, vous devez interroger l'auteur de la question. Mais il est important que votre override fonctionne toujours de la même manière. Dans d'autres langues, ils appellent cela «respecter le contrat». – sje397
mais lancer une alerte ne fonctionne pas vraiment de la même manière car il arrête le fonctionnement du navigateur jusqu'à ce que l'utilisateur réponde .. Je pense que nous avons besoin de plus d'informations de l'OP –