Pau*_*uck 2 javascript jquery event-handling
<input type="text" id="text">
<span id="click">click</span>
$("#click").click(function(){
if($("#text").val().length < 1){
alert("click is empty!");
false;
}
alert("ok");
})
Run Code Online (Sandbox Code Playgroud)
现场: http ://jsfiddle.net/2Be8a/
为什么在这个例子中如果$ click length == 0我有警报点击是空的(这很好)和下一个警报ok(不好) - 为什么false不会停止脚本?我知道 - 我可以使用其他,但可能会停止虚假?
您需要使用关键字return退出该功能.
$("#click").click(function(){
if($("#text").val().length < 1){
alert("click is empty!");
return false; //Exits the function
}
//This will not execute if ($("#text").val().length < 1) == true
alert("ok");
});
Run Code Online (Sandbox Code Playgroud)
附加信息
return.正如评论中所建议的那样,添加一个else返回true的"最佳" .例:
$("#click").click(function(){
if($("#text").val().length < 1){
alert("click is empty!");
return false; //Exits the function
}
else {
alert("ok");
return true; //Exits the function
}
});
Run Code Online (Sandbox Code Playgroud)本质上,在jQuery处理程序中,return true与返回任何内容相同(jQuery不采取任何操作).return false相当于event.stopPropagation().
我建议阅读jQuery Events:Stop(Mis)使用Return False来更好地理解你使用时的实际情况return false.