我有多个点击,我必须解除绑定一旦点击,但我需要重新绑定的链接按钮。
下面是一个示例:
$('.001').click(function(){
      jQuery(this).unbind('click');
      jQuery('.hide').hide();
      jQuery('.show').show();
      jQuery(this).find('.show').hide();
      jQuery(this).find('.hide').load('pages/001.html');
      jQuery(this).find('.hide').show();
    }); 
    $('.002').click(function(){
      jQuery(this).unbind('click');
      jQuery('.hide').hide();
      jQuery('.show').show();
      jQuery(this).find('.show').hide();
      jQuery(this).find('.hide').load('pages/002.html');
      jQuery(this).find('.hide').show();
    });因此,当我单击.001时,它会加载一个带有不同jQuery操作的页面(一个滑块),所以我必须解除对.001的单击(因此是jQuery(this).unbind(' click ');),但是当我单击.002时,我必须在.001上重新绑定.click。这必须使用vars来完成,因为它可以从001到999。
有什么建议吗?
发布于 2012-10-18 22:47:51
您无需一次又一次地绑定和重新绑定处理程序。只需将激活项的标识符存储在某个位置,然后在每个单击处理程序中检查它。如下所示:
var active;
$('.some_class').click(function() {
  if (this.className === active) {
    return false;
  }
  active = this.className;
  ...
});此外,我强烈建议为所有有问题的项分配一个且只有一个函数作为事件处理程序,根据外部属性派生其操作。如下所示:
<a class="first" data-url-to-go="/first.html">Some Link</a>
<a class="second" data-url-to-go="/second.html">Some Other Link</a>
...
var active;
$('.first, .second').click(function() {
  if (this.className === active) {
    return false; 
  }
  active = this.className;
  var $this = $(this), 
      url = $this.data('urlToGo');
  ...
});这里有一个说明这个概念的。
发布于 2012-10-18 22:37:25
for(i=1;i<1000;i++){
    var query_str
    var page_to_load;
    if(i<10){
        query_str = ".00"+i
        page_to_load = "pages/00" + i + ".html"
    }
    else if(i>10 && i<100){
        query_str = ".0"+i
        page_to_load = "pages/0" + i + ".html"
    }
    else{
        query_str = "."+i
        page_to_load = "pages/" + i + ".html"
    }
     $(quer_str).click(function(){
      jQuery(this).unbind('click');
      jQuery('.hide').hide();
      jQuery('.show').show();
      jQuery(this).find('.show').hide();
      jQuery(this).find('.hide').load(page_to_load);
      jQuery(this).find('.hide').show();
    }); 
}这将不是很好的性能,但这是您所要求的
https://stackoverflow.com/questions/12957031
复制相似问题