Jquery 使用unbind()和bind()函数

Jquery 使用unbind()和bind()函数,jquery,click,bind,unbind,Jquery,Click,Bind,Unbind,嗨,我已经用prev/next构建了一个图像滑块。问题是,在取消绑定prev或next按钮后,我想再次绑定它们,如何将bind()集成到代码中 这是我的代码:- // for sliding right var counter = 1; $('#nextArrow').click(function(){ var item_width = $('.productList li').width(); var left_indent = parseInt($('.productLis

嗨,我已经用prev/next构建了一个图像滑块。问题是,在取消绑定prev或next按钮后,我想再次绑定它们,如何将bind()集成到代码中

这是我的代码:-

// for sliding right
var counter = 1;
$('#nextArrow').click(function(){
    var item_width = $('.productList li').width(); 
    var left_indent = parseInt($('.productList').css('left')) - item_width;
    $('.productList').animate({'left' : left_indent},function(){
        if( counter > $('.li_group').length - 1) {
            $('.nextArrow').addClass('disabled');
            $('.prevArrow').removeClass('disabled');
            $('#nextArrow').unbind('click');
        }
    });
    counter++;
});

// for sliding left
$('#prevArrow').click(function(){

    var item_width = $('.productList li').width();

    var left_indent = parseInt($('.productList').css('left')) + item_width;
    $('.productList').animate({'left' : left_indent},function(){
        if( counter == 1) {
            $('.prevArrow').addClass('disabled');
            $('.nextArrow').removeClass('disabled');
            $('#prevArrow').unbind('click');
        }
    });
    counter--;
});

您根本不需要使用
bind
unbind
。将类添加到
#nextArrow
#prevArrow
元素中,并将选择器更改为仅处理不使用这些类的元素

例如,在
#nextArrow
单击处理程序上,可以将此类添加到
#nextArrow
元素中,并确保将其从
#prevArrow
元素中删除:

if( counter > $('.li_group').length - 1) {
    $('#nextArrow').addClass('ignore-click');
    $('#prevArrow').removeClass('ignore-click');
    ...
}
然后,您可以修改jQuery选择器,使其仅影响没有“忽略单击”类的元素:

$('#nextArrow:not(.ignore-click)').click(...);

$('#prevArrow:not(.ignore-click)').click(...);

为什么要绑定pre/next按钮?因此,用户在到达最后一个图像(右滑)后,下一个button不应触发click事件。