eu tenho
desvincular
o evento de clique para determinada condição. Depois disso, quero retomar o evento click. Como fazer isso?
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>
Aqui quando a classe atual não é com a última âncora eu quero acionar clique no intervalo
Respostas:
2 para resposta № 1Você pode explicitamente .bind()
Socorro e .unbind()
Socorro um 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 resposta № 2
Pode ser mais fácil se você acabou de verificar uma variável como clickHandlerEnabled
no manipulador de eventos onclick em vez de desvincular e vincular o manipulador de eventos.
Se é específico de um elemento, você pode armazená-lo em seu `data ()` `:
$(".elem").click(function(e) {
if($(this).data("clickDisabled")) {
return;
}
});
E para definir:
$("#someElem").data("clickDisabled", true /* or false to re-enable clicks */);
0 para resposta № 3
se você chamar Jquery, clique em evento novamente sob outra condição para continuar, jquery irá automaticamente vinculá-lo novamente.