J'ai déjà examiné des questions similaires, mais les réponses fournies impliquent des boutons et non des éléments div. Lorsque je clique sur l'élément div avec ID Voici mon Jsfiddle . P> Cliquez sur CODE>, le gestionnaire d'événements click est désactivé par Unbind () code> et définit une minuterie pendant 2 secondes. Après 2 secondes, le gestionnaire d'événements clic doit être activé à nouveau par Bind () code>. Le problème est que le gestionnaire d'événements de clic ne semble pas obtenir "rebond". Je suis ajouté au texte à un autre élément div pour vérifier si le gestionnaire d'événements clic est actif. P>
5 Réponses :
Lorsque vous redéfinissez la fonction la deuxième fois que vous liez un sous-ensemble de tout votre code - tout cela ne rendait-il pas à l'état, mais il ne contient aucun du code pour effectuer un délai d'attente une seconde fois. .
Aussi, vous aimerez la fonction J'ai corrigé votre code ici: .one () code>. p>
Essayez ceci:
$(document).ready(function(){
$('#click').click(function(){
$('#click').unbind('click');
$('#status').append("unbound ");
setTimeout(
function(){
$('#click').bind('click',function(){
});
$('#status').append("bound ");
},
2000
);
});
});
Si j'ai eu ce que vous demandiez correctement, cela devrait fonctionner: vérifier ici: https://jsfiddle.net/equne/ p> p>
Je réponds à votre question mais ne vous tuez pas :)) Vous plaisantez simplement ... Votre code est bien juste un typo: Settimeout code> devrait être Settimeout code> (le O devrait être o) p>
Une autre approche de l'ensemble du problème est de ne pas vous soucier d'un libidage et de la reproduction et d'utiliser simplement un drapeau "désactivé":