2011-01-28 3 views
1

я естькак возобновить событие щелчка в JQuery

UNBIND

событие щелчка для определенного условия. после этого я хочу возобновить это событие click. Как это сделать?

 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> 

Вот когда текущий класс не с последним якорем я хочу, чтобы вызвать нажмите на пролете

+2

Просьба предоставить больше информации. – rahul

ответ

2

Вы можете явно .bind()help и .unbind()help метод:

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); 
0

если вы снова вызовете событие Jquery click в другом условии, чтобы возобновить его, jquery автоматически будет би и снова.

+0

Я не загружаю страницу – Gowri

1

Возможно, было бы проще, если бы вы только что проверили переменную типа clickHandlerEnabled в обработчике событий onclick вместо того, чтобы развязывать и повторно привязывать обработчик событий.

Если это элемент конкретных вы можете хранить его в своих `данных()` `:

$('.elem').click(function(e) { 
    if($(this).data('clickDisabled')) { 
     return; 
    } 
}); 

И установить его:

$('#someElem').data('clickDisabled', true /* or false to re-enable clicks */); 
Смежные вопросы