yo tengo
desatar
El evento clic para cierta condición. después de eso quiero reanudar ese evento de clic .¿cómo hacer esto?
jQuery("#div1 span").click(function(){
if(jQuery("#div1 a:last").hasClass("current"))
{
jQuery("#div1 span").unbind(click);
}
}
jQuery("#div1 a").click(function(){
jQuery(this).addClass("current");
//here i want to resume click event for #div1 span is this possible
});
<div id ="div1"><span></span><a></a><a></a><a></a></div>
Aquí, cuando la clase actual no está con el último anclaje, quiero activar el clic en el intervalo
Respuestas
2 para la respuesta № 1Puedes explícitamente .bind()
ayuda y .unbind()
ayuda un método:
function my_click_handler(event) {
// click handler code
}
// bind that handler to #element
$("#element").bind("click", my_click_handler);
// remove the handler
$("#element").unbind("click", my_click_handler);
// bind again
$("#element").bind("click", my_click_handler);
1 para la respuesta № 2
Podría ser más fácil si acaba de comprobar una variable como clickHandlerEnabled
en su controlador de eventos onclick en lugar de desvincular y volver a enlazar el controlador de eventos.
Si es un elemento específico, puede almacenarlo en su `data ()` `:
$(".elem").click(function(e) {
if($(this).data("clickDisabled")) {
return;
}
});
Y para configurarlo:
$("#someElem").data("clickDisabled", true /* or false to re-enable clicks */);
0 para la respuesta № 3
Si vuelve a llamar a Jquery, haga clic en el evento bajo otra condición para reanudarlo, jquery lo volverá a enlazar automáticamente.