我给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>