jQuery取消绑定点击事件功能并根据情况重新附加

Mar*_*ers 2 javascript jquery events binding click

我用下面的代码来创建一个滑动菜单.我需要知道如何取消绑定附加到click事件的函数并在其他时间重新附加它.(使用jQuery 1.7.2)

$(document).ready(function(){
    $('.section').hide();
    $('.header').click(function(){
      if($(this).next('.section').is(':visible'))
      {
        $('.section:visible').slideUp()              
        $('.arrows:visible').attr("src","right.gif")
      }
      else
      {
        $('.section').slideUp();
        $(this).next('.section').slideToggle();
        $(this).find('.arrows').attr("src","down.gif")
    });
});
Run Code Online (Sandbox Code Playgroud)

下面的代码是我到目前为止的代码

$('#printVers').click(function(){
   if($('#formVersion').val() != "Print")
   {
     $('.header').unbind('click');
   }
   else
   {
     //else re-attach functionality?
   }
});
Run Code Online (Sandbox Code Playgroud)

谢谢

Tej*_*ejs 7

只需创建一个命名函数.你可以在这里使用低技术,然后回到基础,解开并重新连接特定的事件.

function doStuff()
{
    if($(this).,next('.section').is(':visible'))
        ...
}

$('.header').on('click', doStuff);
$('.header').off('click', doStuff);
Run Code Online (Sandbox Code Playgroud)