欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年12月18日 09:09:26   投稿:lijiao  
這篇文章主要介紹了jQuey中的return false作用,以及解決jquery中的return false不起作用的方法,感興趣的小伙伴們可以參考一下

jQuey中的return false作用是什么?
在眾多的語句中都有return false的使用,當(dāng)然對(duì)于熟悉它的開發(fā)者來說,當(dāng)然是知根知底,知道此語句的作用,當(dāng)然也就知道在什么時(shí)候使用此語句,不過對(duì)于初學(xué)者可能未必掌握的很清晰明了,下面通過實(shí)例介紹一下return false語句的作用。
return語句的作用一般是返回函數(shù)值,并不再執(zhí)行下面的語句,直接跳到函數(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>腳本之家</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.dbjr.com.cn>鏈接</a> 
</div> 
</div> 
</body> 
</html>

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

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.dbjr.com.cn/" />
<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.dbjr.com.cn" 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è)判斷語句的最后都添加了return false語句,如果用戶名或者密碼為空的話,則會(huì)彈出提示框,如果沒有return false語句的話,那么盡管還能夠彈出提示框,但是表單依然會(huì)被提交,因?yàn)辄c(diǎn)擊提交表單就是點(diǎn)擊提交按鈕的默認(rèn)事件行為。

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

寫了個(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;  //為啥不管用捏?
        }
      }
    );
  }

原因:邏輯沒弄清楚,要將ajax設(shè)置為同步的,需要使用$.ajax,$.get默認(rèn)是異步的,并且不是在回調(diào)函數(shù)內(nèi)return,而是在CheckUserName函數(shù)中聲明一個(gè)變量來接受回調(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ù)返回值沒有意義
  }

OK! 測(cè)試一下,沒問題了!

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

根本的說 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í)有所幫助。

相關(guān)文章

  • js左側(cè)多級(jí)菜單動(dòng)態(tài)的解決方案

    js左側(cè)多級(jí)菜單動(dòng)態(tài)的解決方案

    實(shí)現(xiàn)的效果很簡(jiǎn)單,就是點(diǎn)一下顯示,再點(diǎn)一下就隱藏,只不過是多了幾級(jí)的問題。好,現(xiàn)在來說說我的設(shè)計(jì)思路,首先從第一級(jí)別開始,添加如下代碼
    2010-02-02
  • 鼠標(biāo)右擊事件代碼(asp.net后臺(tái))

    鼠標(biāo)右擊事件代碼(asp.net后臺(tái))

    本程序由一個(gè)js文件和aspx文件組成,沒有后臺(tái)CS代碼。
    2011-01-01
  • JS實(shí)現(xiàn)的tab切換選項(xiàng)卡效果示例

    JS實(shí)現(xiàn)的tab切換選項(xiàng)卡效果示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的tab切換選項(xiàng)卡效果,結(jié)合具體實(shí)例形式分析了JS通過鼠標(biāo)事件觸發(fā)自定義函數(shù)控制頁面元素樣式變換實(shí)現(xiàn)tab切換功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • js 取消頁面可以選中文字的功能方法

    js 取消頁面可以選中文字的功能方法

    下面小編就為大家分享一篇js 取消頁面可以選中文字的功能方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • JavaScript 中級(jí)筆記 第二章

    JavaScript 中級(jí)筆記 第二章

    對(duì)象是組成JavaScript的基本單元。本章將從JavaScript語言中最重要的幾個(gè)部分開始介紹:引用,函數(shù)重載,作用域,閉包和上下文。有了這些知識(shí)后,面向?qū)ο箝_發(fā)就將變得簡(jiǎn)單。
    2009-09-09
  • 實(shí)用javaScript技術(shù)-屏蔽類

    實(shí)用javaScript技術(shù)-屏蔽類

    實(shí)用javaScript技術(shù)-屏蔽類...
    2006-08-08
  • js和as的穩(wěn)定傳值問題解決

    js和as的穩(wěn)定傳值問題解決

    最近在實(shí)現(xiàn)flash的播放音樂的功能,這就涉及到j(luò)s和as交互的問題,因?yàn)橐獙?shí)現(xiàn)動(dòng)態(tài)改變音樂文件的功能,可是如何判定呢?
    2013-07-07
  • js獲取隨機(jī)顏色值的函數(shù)

    js獲取隨機(jī)顏色值的函數(shù)

    隨機(jī)顏色如何獲取,在本文將為大家介紹下如何使用js來獲取,感興趣的朋友可以參考下
    2013-09-09
  • JavaScript實(shí)現(xiàn)商品放大鏡效果

    JavaScript實(shí)現(xiàn)商品放大鏡效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)商品放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口實(shí)例

    JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口實(shí)例

    這篇文章主要介紹了JavaScript模擬可展開、拖動(dòng)與關(guān)閉的聊天窗口,實(shí)例分析了javascript實(shí)現(xiàn)可拖動(dòng)的div層相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05

最新評(píng)論