<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");
})
直播: http://jsfiddle.net/2Be8a/
为什么在这个例子中,如果$click长度 == 0,我的警报单击为空(这很好(,下一个警报正常(不好( - 为什么 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");
});
附加信息
- 您可能还想查看 MDN 文档
return
. 正如注释中所建议的,添加返回 true 的
else
是"最好"的。例:$("#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 } });
本质上,在 jQuery 处理程序中,return true
与不返回任何内容相同(jQuery 不会执行任何操作(。 return false
相当于event.stopPropagation()
。
我建议阅读jQuery Events: Stop (Mis(Using Return False,以更好地了解使用return false
时到底发生了什么。
你想return false;
:
$("#click").click(function(){
if($("#text").val().length < 1){
alert("click is empty!");
return false;
}
alert("ok");
});
我很确定如果你想在这一点上结束函数,你必须使用return false;
。
尝试如下:
if($("#text").val().length < 1){
alert("click is empty!");
return false;
}
alert("ok");