问题:为某一元素绑定了几个点击事件,要移除点击事件中的其中一个.
解决方法:首先要为这些点击事件绑定的匿名函数指定一个变量。用unbind解绑时可调用这个变量就可以单独删除某一个事件了。
关键代码如下:
$(function(){
$("input[type='button']").bind('click',myFun=function(){ //为匿名函数指定一个变量,供解绑时调用
$('.jsoutput').find('>div').append('
绑定事件1
');}).bind('click',function(){
$('.jsoutput').find('>div').append('
绑定事件2
');}).unbind('click',myFun) //绑定事件1被解绑
.trigger('click') //模拟点击动作
})
运行代码,查看效果:
测试页*{margin:0;padding:0;}
body{ font:12px/20px Tahoma, Geneva, sans-serif;padding:100px 200px;}
ul li{ list-style:none;}
img {border:0 none;}
input[type='button']{width:100px; height:38px;display:block;position:fixed;right:20%; top:50px;font-size:13px;}
h1{height:35px;padding-bottom:10px;}
.jsoutput{width:300px; height:0px; border:1px gray solid;position:fixed;left:50%;top:0;margin:0 0 0 -150px;}
.jsoutput b{ text-align:center;display:block; border-bottom:1px gray solid;}
.jsoutput span{padding:0 5px;}
$(function(){
$("input[type='button']").bind('click',myFun=function(){ //为匿名函数指定一个变量,供解绑时调用
$('.jsoutput').find('>div').append('
绑定事件1
');}).bind('click',function(){
$('.jsoutput').find('>div').append('
绑定事件2
');}).unbind('click',myFun) //绑定事件1被解绑
.trigger('click') //模拟点击动作
})
js输出内容
提示:你可以先修改部分代码再运行。