<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");
})
LIVE: http://jsfiddle.net/2Be8a/
为什么在这个例子中如果$ click length == 0我有警报点击是空的(这很好)和下一个警报ok(不好) - 为什么false不会停止脚本? 我知道 - 我可以使用其他,但可能会以false结尾?
答案 0 :(得分:8)
您需要使用关键字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");
});
其他信息
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
时的实际情况。
答案 1 :(得分:3)
您想要return false;
:
$("#click").click(function(){
if($("#text").val().length < 1){
alert("click is empty!");
return false;
}
alert("ok");
});
答案 2 :(得分:3)
如果你想在此时结束这个功能,我很确定你必须使用return false;
。
答案 3 :(得分:3)
试试这样:
if($("#text").val().length < 1){
alert("click is empty!");
return false;
}
alert("ok");