小编Nir*_*Nir的帖子

jquery:unbind mouseenter并且离开将无效

我有一个标签视图,当我将鼠标悬停在未选中的标签上方时,我会给它提供与所选标签相同的样式.问题是,当我点击它时,我似乎无法取消绑定进入和离开事件.

function DocReady() {
    $("." + TAB_OFF_CLASS).click(changeCategory);
    $("." + TAB_OFF_CLASS).mouseenter(onCategoryOver);
    $("." + TAB_OFF_CLASS).mouseleave(onCategoryOut);
}

function onCategoryOver() {
    $(this).removeClass(TAB_OFF_CLASS).addClass(TAB_ON_CLASS);
}
function onCategoryOut() {
    $(this).removeClass(TAB_ON_CLASS).addClass(TAB_OFF_CLASS);
}

function changeCategory() {

var catTab = $(this);
var catName = catTab.find('#catName').html();
var id = catTab.attr('categoryID');
catTab.unbind('click');
catTab.unbind('mouseenter', onCategoryOver);
catTab.unbind('mouseleave', onCategoryOut);
catTab.removeClass(TAB_OFF_CLASS).addClass(TAB_ON_CLASS);    
...
Run Code Online (Sandbox Code Playgroud)

}

你可以看到我也尝试将它再次绑定到一个空函数也不起作用.更新:unbind仅在我单击选项卡并保持不变直到代码完成时才起作用.但如果我点击并拉出它不会.我想这是因为mouseleave事件在点击处理程序的中间触发.任何人...?

jquery

2
推荐指数
1
解决办法
6721
查看次数

标签 统计

jquery ×1