没明白,楼主的意思,不过既然这样。你为什么不直接用click事件,加个判断什么的

解决方案 »

  1.   

    one 一个个绑上去, return false
      

  2.   

    看了jQuery源码,toggle的内部状态并不对外开放,最暴力的办法就是hack其内部状态,代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY>
    <input id="login" type="button" value="login" />
    <input id="rebind" type="button" value="rebind" />
    <script src="jquery-1.7.2.js"></script>
    <script language="javascript">
    $(function(){
    function funA(){
    alert(1);
    }
    function funB(){
    alert(2);
    }
    var $login = $("#login");
    $login.toggle(funA,funB);
    $("#rebind").click(function(){
    $._data( $login[0], "lastToggle" + funA.guid, 0 );//hack
    $login.unbind();
    $login.toggle(funA,funB);
    });
    });
    </script>
    </BODY>
    </HTML>
    用的是jquery-1.7.2.js,如果不在乎将来jquery的toggle方法内部状态有变化导致hack失效的话再不然自己在jquery-1.7.2.js里把toggle状态开放出来,当然以后升级jquery就麻烦一点,自己的版本要跟着修改有用就给点分吧
    哎,生活好无聊啊
      

  3.   

    javascript 阻止事件继续执行--冒泡行为控制 - 
    http://www.suchso.com/projecteactual/javascript-event-up-stopPropagation-cancelBubble.html