jQuey中的return false作用是什么?

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

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<!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=<A href="http://www.jb51.net">http://www.jb51.net</A>>链接</a

</div

</div

</body

</html>

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

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

<!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代码如下:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

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返回这个值。
修改后的代码: 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

 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进行的详细学习,希望对大家的学习有所帮助。

时间: 2024-10-20 21:16:05

jQuey中的return false作用是什么?的相关文章

jQuey中的return false作用是什么

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

javascript中的 return false和return true

关于javascript中的 return false和return true,return 是javascript里函数返回值的关键字,一个函数内处理的结果可以使用return 返回,这样在调用函数的地方就可以用变量接收返回结果.return 关键字内任何类型的变量数据或表达式都可以进行返回,甚至什么都不返回也可以比如: function NullReturn(IsNull){ if(IsNull==true){ return; } } 这样写也是可以的,这里的意思是返回空(null)所以有的

jquery中return false的作用

jquery中的return false既阻止默认事件,又阻止冒泡: 在原生的js中,return false只有一个功能,那就是阻止默认事件. <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/3.1.1/jquery.js"></script> <style

js事件处理函数中return的作用

原文:http://blog.csdn.net/gchonghavefun/article/details/8112830 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JavaScript在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是false时

js中return的作用及用法

这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是false时,将中断操作. 而直接执行时(不用return).将不会对window.event.returnvalue进行设置所以会默认

js中return;、return true、return false;区别

一.返回控制与函数结果 语法为:return 表达式 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果 二.返回控制 无函数结果,语法为:return; 在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页面. return false; 就相当于终止符, return true;  就想当于执行符. 在js中,return false的作用一般是用来取消默认动作的.比如你单击一个链接除了

JS.【转】JS事件处理函数中return的作用

1.js事件处理函数中return的作用 - AnswerCard - 博客园.html(https://www.cnblogs.com/answercard/p/5255230.html) 2.网页内容保存: 这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置

jQuery中preventDefault()、stopPropagation()、return false 之间的区别

一.preventDefault()方法,阻止浏览器默认行为 浏览器有很多默认行为,比如form表单的submit按钮一点击,默认行为就要开始提交表单. 再比如 <a href="http://www.klmai.cn">内部优惠券</a> a链接一点击默认触发的行为就是浏览器地址栏变化后跳转到指定的网站.要阻止这种默认行为我们可以用preventDefault()方法.实例如下: <div class="div1"> 阻止浏览器

JS事件处理函数中return false到底是什么东西

在<JS DOM编程艺术>一书中,用return false来阻止事件默认行为,可是js高程3里没有这种用法,那这到底是什么呢. 先看一下知乎的一个解释 就此问题,首先要纠正两个观点: 1. 事件处理方法中 的 return false 并不是终止事件,而是阻止事件宿主的默认行为: 2. 不是在所有的事件处理方法中 return fasle 都能阻止事件宿主的默认行为: 事实上,仅仅是在HTML事件属性 和 DOM0级事件处理方法中 才能通过返回 return false 的形式组织事件宿主的