[英]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.