как возобновить событие клика в jquery - PullRequest
1 голос
/ 28 января 2011

У меня есть

unbind

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

      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>

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

Ответы [ 3 ]

2 голосов
/ 28 января 2011

Вы можете явно .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);
1 голос
/ 28 января 2011

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

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

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

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

$('#someElem').data('clickDisabled', true /* or false to re-enable clicks */);
0 голосов
/ 28 января 2011

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

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