如何停止带有 false 的脚本


<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");

相关内容

  • 没有找到相关文章

最新更新