国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

學(xué)習(xí)jQuey中的return false

2019-11-20 10:59:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jQuey中的return false作用是什么?
在眾多的語(yǔ)句中都有return false的使用,當(dāng)然對(duì)于熟悉它的開(kāi)發(fā)者來(lái)說(shuō),當(dāng)然是知根知底,知道此語(yǔ)句的作用,當(dāng)然也就知道在什么時(shí)候使用此語(yǔ)句,不過(guò)對(duì)于初學(xué)者可能未必掌握的很清晰明了,下面通過(guò)實(shí)例介紹一下return false語(yǔ)句的作用。
return語(yǔ)句的作用一般是返回函數(shù)值,并不再執(zhí)行下面的語(yǔ)句,直接跳到函數(shù)調(diào)用的地方,另外還有一個(gè)重要的作用,那就是取消默認(rèn)事件行為的發(fā)生。
代碼實(shí)例如下: 

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>武林網(wǎng)</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=//m.survivalescaperooms.com>鏈接</a> </div> </div> </body> </html>

從以上代碼可以看出,點(diǎn)擊鏈接之后并沒(méi)有跳轉(zhuǎn)到//m.survivalescaperooms.com首頁(yè),這是因?yàn)閞eturn false能夠阻止瀏覽器的默認(rèn)行為,比如點(diǎn)擊超鏈接就會(huì)實(shí)現(xiàn)網(wǎng)頁(yè)跳轉(zhuǎn)就是瀏覽器的默認(rèn)行為。下面再看一個(gè)表單驗(yàn)證的例子:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://m.survivalescaperooms.com/" /><title>武林網(wǎng)</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://m.survivalescaperooms.com" 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>

以上代碼中,每一個(gè)判斷語(yǔ)句的最后都添加了return false語(yǔ)句,如果用戶名或者密碼為空的話,則會(huì)彈出提示框,如果沒(méi)有return false語(yǔ)句的話,那么盡管還能夠彈出提示框,但是表單依然會(huì)被提交,因?yàn)辄c(diǎn)擊提交表單就是點(diǎn)擊提交按鈕的默認(rèn)事件行為。

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

寫(xiě)了個(gè)表單驗(yàn)證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;  //為啥不管用捏?        }      }    );  }

原因:邏輯沒(méi)弄清楚,要將ajax設(shè)置為同步的,需要使用$.ajax,$.get默認(rèn)是異步的,并且不是在回調(diào)函數(shù)內(nèi)return,而是在CheckUserName函數(shù)中聲明一個(gè)變量來(lái)接受回調(diào)函數(shù)的返回值,然后CheckUserName返回這個(gè)值。
修改后的代碼: 

 function CheckUserName(){    var username = $("#username").val();    var result=false;    $.ajax({async:false//要設(shè)置為同步的,要不CheckUserName的返回值永遠(yuǎn)為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的返回值,回調(diào)函數(shù)返回值沒(méi)有意義  }

OK! 測(cè)試一下,沒(méi)問(wèn)題了!

js/jquery中什么時(shí)候用return,什么時(shí)候用return false?這也是大家疑惑的地方。

根本的說(shuō) return 是函數(shù)的返回結(jié)果用, 如果你一個(gè)函數(shù)需要執(zhí)行結(jié)果那就return 你需要的結(jié)果,不需要結(jié)果就不用return;
而在jq中有些特殊的用法,比如$().each(function(){return false;});
其中如果不return false就會(huì)循環(huán)所有元素, 而如果在其中一次return false則不在進(jìn)行后續(xù)的遍歷,跳出循環(huán)。

以上就是針對(duì)jQuey中的return false進(jìn)行的詳細(xì)學(xué)習(xí),希望對(duì)大家的學(xué)習(xí)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 翼城县| 大同县| 烟台市| 大荔县| 筠连县| 阜宁县| 高青县| 阜平县| 宜兰县| 泽州县| 屏东市| 鞍山市| 天水市| 克拉玛依市| 石景山区| 红安县| 金湖县| 武定县| 广西| 什邡市| 巴中市| 县级市| 桐庐县| 繁峙县| 海伦市| 宜君县| 盈江县| 安远县| 中超| 金乡县| 遂昌县| 固镇县| 招远市| 双流县| 连云港市| 沅江市| 资溪县| 临沭县| 上饶县| 铁岭县| 广元市|