Pri*_*tra 24 jquery bind onclick unbind
我有onclick事件,
$('#locations').click(function(){
$('#train').unbind('click');
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
2.单击关闭按钮
$('.close').click(function(){
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
3.再次点击#train
$('#train').bind('click', function() {
alert('train is clicked');
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是#train没有触发.是否要在.close函数上再次绑定事件?
请建议.谢谢.
kri*_*ath 39
看看你的问题,你似乎没有把它绑在click后面unbind,所以它不会开火.(假设你保持了正确的功能顺序).你必须这样做:
//Set a function with the action you need to do after you click the train
function trainClick() {
alert('train is clicked');
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
当您解除绑定时,unbind使用函数名称调用:
$('#locations').click(function(){
$('#train').unbind('click',trainClick);
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
然后,要绑定点击(#close单击时),您将使用:
$('.close').click(function(){
$('#train').bind('click',trainClick);
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
注意 :
更好的办法是使用on和off如果你使用的版本比jQuery的V1.7更大,因为,以及..它不会工作.在上面的代码,只需更换bind与on和unbind用off.
$('#train').on('click',trainClick);
$('#train').off('click',trainClick);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
小智 5
绑定和绑定处理器
关键是范围.
您必须声明并定义function (trainClick(){stuff it does})事件处理程序外部,以便其他按钮的功能可以看到它.
以下是一个例子.
function trainClick()
{
alert("train is clicked"); //Notice this function is declared outside event handlers below
}
$('#button1').on("click", trainClick); //this calls the above function
$("#button2").on("click",function(){
$("#button1").off("click",trainClick); //unbinds button1 from trainClick() function (event handler)
});//End Button 2 click
$("#button3").on("click",function(){
$("#button1").on("click",trainClick); //binds button1 to trainClick() function (event handler)
});//End Button 2 click
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74271 次 |
| 最近记录: |