首頁 web前端 js教程 學習jQuey中的return false_javascript技巧

學習jQuey中的return false_javascript技巧

May 16, 2016 pm 03:24 PM
false return

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=<a href="http://www.jb51.net">http://www.jb51.net</a>>链接</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進行的詳細學習,希望對大家的學習有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

C語言return的用法詳解 C語言return的用法詳解 Oct 07, 2023 am 10:58 AM

C語言return的用法有:1、對於傳回值類型為void的函數,可以使用return語句來提前結束函數的執行;2、對於傳回值型別不為void的函數,return語句的作用是將函數的執行結果傳回給呼叫者;3、提前結束函數的執行,在函數內部,我們可以使用return語句來提前結束函數的執行,即使函數並沒有回傳值。

Java中return和finally語句的執行順序是怎樣的? Java中return和finally語句的執行順序是怎樣的? Apr 25, 2023 pm 07:55 PM

原始碼:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}#輸出上述程式碼的輸出可以簡單地得出結論:return在finally之前執行,我們來看下字節碼層面上發生了什麼事情。下面截取case1方法的部分字節碼,並且對照源碼,將每個指令的含義註釋在

Vue3怎麼使用setup語法糖拒絕寫return Vue3怎麼使用setup語法糖拒絕寫return May 12, 2023 pm 06:34 PM

Vue3.2setup語法糖是在單文件組件(SFC)中使用組合式API的編譯時語法糖解決Vue3.0中setup需要繁瑣將聲明的變量、函數以及import引入的內容通過return向外暴露,才能在使用的問題1.在使用中無需return宣告的變數、函數以及import引入的內容,即可在使用語法糖//import引入的內容import{getToday}from'./utils'//變數constmsg='Hello !'//函數func

使用JavaScript中return關鍵字 使用JavaScript中return關鍵字 Feb 18, 2024 pm 12:45 PM

JavaScript中return的用法,需要具體程式碼範例在JavaScript中,return語句用來指定從函數傳回的值。它不僅可以用於結束函數的執行,還可以將一個值傳回給呼叫函數的地方。 return語句有以下幾個常見的用法:傳回一個值return語句可以用來傳回一個值給呼叫函數的地方。下面是一個簡單的範例:functionadd(a,b){

詳解JavaScript函數傳回值和return語句 詳解JavaScript函數傳回值和return語句 Aug 04, 2022 am 09:46 AM

JavaScript 函數提供兩個介面實現與外界的交互,其中參數作為入口,接收外界資訊;返回值作為出口,並將運算結果回饋給外界。以下這篇文章帶大家了解JavaScript函數回傳值,淺析下return語句的用法,希望對大家有幫助!

JavaScript如何使用return語句 JavaScript如何使用return語句 Feb 26, 2024 am 09:21 AM

JavaScript中return的使用方法,需要具體程式碼範例在JavaScript中,return是一個非常重要的關鍵字,它通常用於函數中傳回值或結束函數的執行。 return語句用來將值傳回給函數的呼叫者,並終止函數的執行。 return語句可以在函數的任何位置使用,並且可以傳回任何JavaScript資料類型,包括數字、字串、布林值、

Python回傳值return怎麼用 Python回傳值return怎麼用 Oct 07, 2023 am 11:10 AM

Python回傳值return用法是當函數執行到return語句時,就會立即停止執行,並將指定的值傳回給呼叫函數的地方。詳細用法:1、傳回單一值;2、傳回多個值;3、傳回空值;4、提前結束函數的執行。

SpringBoot攔截器回傳false顯示跨域問題怎麼解決 SpringBoot攔截器回傳false顯示跨域問題怎麼解決 May 13, 2023 pm 05:10 PM

專案最近新增了一個ip黑白名單的功能,發現如果ip過濾的攔截器返回false後前端會顯示跨域,嘗試修改MVC配置類別後發現還是不行,最後在攔截器加了個判斷就可以了@OverridepublicbooleanpreHandle (HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsIOException{//-----------加上這個就好了-----------if(!(handlerinstanceo

See all articles