jquery: не могу отменить привязку? - PullRequest
2 голосов
/ 06 февраля 2011

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

это работает

function disable_continue_button(){
    $('#frame_2 > .next')
        .addClass('faded tt')
        .hover(function(){
            $hovered = $(this);
            //tooltip?
            tip = $('.tip.notification.information');
            tip.find('div').html($hovered.attr('tt'));
            tip.fadeIn(150);
        },
        function() {
            tip.hide();   
        })
        .mousemove(function(e) {
            var mousex = e.pageX +40; //Get X coodrinates
            var mousey = e.pageY -20; //Get Y coordinates
            tip.css({top: mousey, left: mousex });
        });    
}

это не работает

function enable_continue_button(){
    $('#frame_2 > .next')        
        .unbind('mouseenter mouseleave mousemove')
        .removeClass('faded tt');    
}

классы удалены, но всплывающая подсказка не удалена ...

Ответы [ 2 ]

5 голосов
/ 06 февраля 2011

Попробуйте отменить привязку mouseenter, mouseleave, mouseover и mouseout.

$('#frame_2 > .next').unbind('mouseenter mouseleave mouseover mouseout');

EDIT:

Отмена привязки только mouseenter и mouseleave достаточна.

Вот пример , чтобы показать, как он работает.Когда вышеперечисленные 4 события не связаны, функциональность всплывающей подсказки удаляется.

.hover(fnEnter, fnLeave) по существу означает сокращение для .mouseenter(fnEnter).mouseleave(fnLeave).

Поскольку не все браузеры изначально поддерживают эти два события (если я правильно помню, только IE), mouseenter() отображается на mouseover() и mouseleave() отображается на mouseout() с некоторой дополнительной логикой вкаждый случай для эмуляции событий.

0 голосов
/ 06 февраля 2011

Этот связанный вопрос может помочь вам отменить все, и тогда вы сможете отменить то, что вам нужно? как отменить привязку всего события с помощью jquery

...