簡體   English   中英

jQuery:無法取消懸停事件?

[英]jquery: Cant unbind hover event?

我的繼續按鈕有一個懸停事件,告訴您為什么禁用它。 唯一的問題是啟用按鈕時我無法刪除懸停事件。

這有效

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');    
}

可以刪除這些類,但不會刪除懸停工具提示...

嘗試解除綁定mouseenter,mouseleave,mouseover和mouseout。

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

編輯:

僅綁定mouseenter和mouseleave就足夠了。

這是一個示例 ,說明它可以正常工作。 當上述4個事件解除綁定時,工具提示功能將被刪除。

.hover(fnEnter, fnLeave)本質上是.mouseenter(fnEnter).mouseleave(fnLeave)簡寫。

由於並非所有瀏覽器都本機支持這兩個事件(如果我沒記錯的話,只有IE支持),所以mouseenter()映射到mouseover()mouseleave()映射到mouseout() ,每種情況下都有一些附加的邏輯來模擬事件。

這個相關的問題可能會幫助您取消綁定所有內容,然后可以重新綁定所需的內容? 如何使用jQuery取消綁定所有事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM