Jquery 使用unbind()和bind()函数
嗨,我已经用prev/next构建了一个图像滑块。问题是,在取消绑定prev或next按钮后,我想再次绑定它们,如何将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
// 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事件。