学习jQuey中的return false_javascript技巧

jQuey中的return false作用是什么?
在众多的语句中都有return false的使用,当然对于熟悉它的开发者来说,当然是知根知底,知道此语句的作用,当然也就知道在什么时候使用此语句,不过对于初学者可能未必掌握的很清晰明了,下面通过实例介绍一下return false语句的作用。
return语句的作用一般是返回函数值,并不再执行下面的语句,直接跳到函数调用的地方,另外还有一个重要的作用,那就是取消默认事件行为的发生。
代码实例如下: 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title></title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
  return false;
})
})
</script>
</head>
<body>
<div id="first">
<div id="second">
 <a id="third" href=http://www.jb51.net>链接</a>
</div>
</div>
</body>
</html>

从以上代码可以看出,点击链接之后并没有跳转到http://www.jb51.net首页,这是因为return false能够阻止浏览器的默认行为,比如点击超链接就会实现网页跳转就是浏览器的默认行为。下面再看一个表单验证的例子:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.jb51.net/" />
<title></title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $(":submit").click(function(){
  if($("#username").val()=="")
  {
   alert("用户名不能为空!");
   $("#username").focus();
   return false;
  }
  if($("#pw").val()=="")
  {
   alert("密码不能为空!");
   $("#pw").focus();
   return false;
  }
 })
})
</script>
</head>
<body>
<form action="http://www.jb51.net" name="myform">
<ul>
 <li>用户名:<input type="text" id="username" /></li>
 <li>密码:<input type="password" id="pw" /></li>
 <li><input type="submit" value="提交表单"></li>
</ul>
</form>
</body>
</html>

以上代码中,每一个判断语句的最后都添加了return false语句,如果用户名或者密码为空的话,则会弹出提示框,如果没有return false语句的话,那么尽管还能够弹出提示框,但是表单依然会被提交,因为点击提交表单就是点击提交按钮的默认事件行为。

那为什么jquery中的return false不起作用,有什么解决方法?

写了个表单验证js代码如下:

function CheckUserName(){
    var username = $("#username").val();
    $.get("b.php",{ name:username},
      function (data){
        if(data == 1){
          $("#warnning").html("<font color=#FF3300>Account is used.</font>");
          return false;  //为啥不管用捏?
        } else {
          $("#warnning").html("<font color=#00CC66>You can register.</font>");
          return true;  //为啥不管用捏?
        }
      }
    );
  }

原因:逻辑没弄清楚,要将ajax设置为同步的,需要使用$.ajax,$.get默认是异步的,并且不是在回调函数内return,而是在CheckUserName函数中声明一个变量来接受回调函数的返回值,然后CheckUserName返回这个值。
修改后的代码: 

 function CheckUserName(){
    var username = $("#username").val();
    var result=false;
    $.ajax({async:false//要设置为同步的,要不CheckUserName的返回值永远为false
        ,url:'b.php',data:{name:username}
        ,success:function(data){
        if(data == 1){
          $("#warnning").html("<font color=#FF3300>Account is used.</font>");
          result=false;
        } else {
          $("#warnning").html("<font color=#00CC66>You can register.</font>");
          result=true;
        }
    }});
    return result;//==========这里才是CheckUserName的返回值,回调函数返回值没有意义
  }

OK! 测试一下,没问题了!

js/jquery中什么时候用return,什么时候用return false?这也是大家疑惑的地方。

根本的说 return 是函数的返回结果用, 如果你一个函数需要执行结果那就return 你需要的结果,不需要结果就不用return;
而在jq中有些特殊的用法,比如$().each(function(){return false;});
其中如果不return false就会循环所有元素, 而如果在其中一次return false则不在进行后续的遍历,跳出循环。

以上就是针对jQuey中的return false进行的详细学习,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索return
, false
jquey
,以便于您获取更多的相关知识。

时间: 2024-10-23 21:21:28

学习jQuey中的return false_javascript技巧的相关文章

Javascript中的return作用及javascript return关键字用法详解_javascript技巧

javascript 中的return一直用的都比较火,关于javascript中的return作用大家了解吗,下面通过本文给大家详细介绍,具体内容如下所示: return 语句从当前函数退出,并从那个函数返回一个值. 语法: return[()[expression][]]; 可选项 expression 参数是要从函数返回的值.如果省略,则该函数不返回值. 用 return 语句来终止一个函数的执行,并返回 expression 的值.如果 expression 被省略,或在函数内没有 re

JavaScript中的return语句简单介绍_javascript技巧

return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,下面就结合实例简单介绍一下return语句的作用. 一.用来返回控制和函数结果: 通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数. 语法格式: return 表达式  代码实例如下: function add(){ var a=1; var b=2; return a+b; } fun

深入浅析java web log4j 配置及在web项目中配置Log4j的技巧_java

在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

Python中字符串的处理技巧分享_python

一.如何拆分含有多种分隔符的字符串? 实际案例 我们要把某个字符串依据分隔符号拆分不同的字符段,该字符串包含多种不同的分隔符,例如: s = 'asd;aad|dasd|dasd,sdasd|asd,,Adas|sdasd;Asdasd,d|asd' 其中<,>,<;>,<|>,<\t>都是分隔符,如何处理? 解决方案 连续使用split()方法,每次处理一种分隔符 # 使用Python2 def mySplit(s,ds): res = [s] for d

学习php中10个基础知识总结

学习php中10个基础知识总结 看了些PHP的基础知识,自己在这里总结下: 1,在HTML嵌入PHP脚本有三种办法: 以下为引用的内容: <script language="php"> //嵌入方式一 echo("test"); </script> <? //嵌入方式二 echo "<br>test2"; ?> <?php //嵌入方式三 echo "<br>test3&

csdn问答-在学习java中遇到的一些问题不是很理解,希望有人能帮给我解答一下

问题描述 在学习java中遇到的一些问题不是很理解,希望有人能帮给我解答一下 for循环我知道怎么从1加到9,但是不知道怎么从9减到1,就是说我不会用i--:.还有boolean类型我不是很理解他有什么用,该什么时候用. 还有就是带参方法了,怎么理解 例如: 类: package daican.net; public class aaa { public int name=9; public int pwd=0; int money=10000; public int showqu(int qu

学习SEO牛人的SEO技巧三:夫唯的系统SEO

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 大家好,我是细嗅蔷薇.前面给大家介绍了自己心中的两个牛人:狼雨和国平,从他们的身上我学到了不少的SEO技巧和思维,但是学无止境,特别是我们在一线的seo工作者更需要一个肯钻研学习的精神,今天我接着前面的两篇文章<SEO牛人的SEO技巧:狼雨的长尾战略><学习SEO牛人的SEO技巧二:国平的可控SEO>为大家介绍我心中的

快速学习JavaScript的6个思维技巧_javascript技巧

我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候. 找不到时间(有时是动力)学习. 很容易忘记已经理解了的东西. 工具多又在不断变化,所以不知道从哪里开始. 幸运的是,这些拦路虎是可以被识别,并消灭的.在这篇文章中,我将介绍六个思维技巧来帮助你更快地学习JavaScript,并成为一个更快乐.更富有成效的程序员. 1.不要让未来的决策阻止你现在前进的方向 很多人学习JavaScript,问的第一个

C#中使用return的问题。

问题描述 请问如何结束某个过程.例:publicvoidItem_SaveData(){if(tabControl1.SelectedTab==tabPage1){//验证数据if(fS_TextBox13.DefultText==""){WM.sendText("wrong","输入数据与约束模式不匹配['代码'不能为空].");return;}if(fS_TextBox11.DefultText==""){WM.sendT