首页 > js点击事件

js点击事件

我给section里的标签都邦定了click事件,
我想点其中的input时取消其它标签的绑定事件,
再点击div点才重新恢复其它的事件绑定功能,
这个要怎么改,我下面不行,取消绑定事件就绑不回来了!!!

<style>
section{overflow:hidden;}
input,font,span{width:100px;height: 30px;display:block;background:red;margin:0 10px;float:left;text-align: center;line-height: 30px;font-weight:bold;}
div{width:360px;height:300px;background:#000;overflow:hidden;display: none;}
</style>

<section>
    <input type="button" value="input"/>
    <font>font</font>
    <span>span</span>
</section>


<div>div</div>





<script>
    $(function(){
        $("input").bind("click",function(){
           $("font").unbind("click");
           $("span").unbind("click");
           $("div").show(function(){
               $(this).click(function(){
                  $("font").bind("click");
                  $("span").bind("click");
                  $(this).hide();
               })
           });
        });

        $("font").bind("click",function(){
            alert("font");
        });
        
        $("span").bind("click",function(){
            alert("span");
        });
    })
</script>



$(function(){
        $("input").bind("click",function(){
           $("font").unbind("click");
           $("span").unbind("click");
           $("div").show(function(){
               $(this).click(function(){
                  $("font").bind("click",fontFN);
                  $("span").bind("click",spanFN);
                  $(this).hide();
               })
           });
        });

        $("font").bind("click",fontFN);
        function fontFN(){
            alert("font");
        }

        $("span").bind("click",spanFN);
        function spanFN(){
            alert("span");
        }
    })

把绑定的事件拿出来,写成一个函数

$(function(){
    var fontClick=function(){
        alert("font");
    };

    var spanClick=function(){
        alert("span");
    };
    $("font").bind("click",fontClick);
    $("span").bind("click",spanClick);

    $("input").bind("click",function(){
        $("font").unbind("click",fontClick);
        $("span").unbind("click",spanClick);
        $("div").show(function(){
            $(this).click(function(){
                $("font").bind("click",fontClick);
                $("span").bind("click",spanClick);
                $(this).hide();
            })
        });
    });

})

point-event:none


你的绑定的事件处理函数独立为一个函数就OK啦~~~


<script> $(function(){ var flag; $("input").bind("click",function(){ flag=fasle; $("div").show(function(){ $(this).click(function(){ flag=true; $(this).hide(); }) }); }); $("font").bind("click",function(){ if(flag){ alert("font"); } }); $("span").bind("click",function(){ if(flag){ alert("font"); } }); }) </script>
【热门文章】
【热门文章】