Heim > Web-Frontend > js-Tutorial > Hauptteil

Lernen Sie den Trick „return false_javascript' in jQuey

WBOY
Freigeben: 2016-05-16 15:24:59
Original
1122 Leute haben es durchsucht

Welche Funktion hat return false in jQuey?
Natürlich wird in vielen Anweisungen die Verwendung dieser Anweisung verwendet. Entwickler, die damit vertraut sind, wissen natürlich auch, wann sie zu verwenden sind . Es ist sehr klar. Lassen Sie uns die Funktion der return false-Anweisung anhand eines Beispiels vorstellen.
Die Funktion der Return-Anweisung besteht im Allgemeinen darin, den Funktionswert zurückzugeben und die folgenden Anweisungen nicht mehr auszuführen, sondern direkt zu der Stelle zu springen, an der die Funktion aufgerufen wird. Eine weitere wichtige Funktion besteht darin, das Auftreten des Standardereignisverhaltens abzubrechen.
Das Codebeispiel lautet wie folgt:

<!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>
Nach dem Login kopieren

Wie aus dem obigen Code ersichtlich ist, wird nach dem Klicken auf den Link nicht zur Startseite http://www.jb51.net gesprungen. Dies liegt daran, dass die Rückgabe von false die Standardeinstellung des Browsers verhindern kann B. das Klicken auf Hyperlinks, führt zu Webseiten, was dem Standardverhalten des Browsers entspricht. Schauen wir uns ein weiteres Beispiel für die Formularvalidierung an:

<!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>
Nach dem Login kopieren

Im obigen Code wird am Ende jeder Urteilsaussage eine Return-False-Anweisung hinzugefügt. Wenn der Benutzername oder das Passwort leer ist, wird ein Eingabeaufforderungsfeld angezeigt wird angezeigt, aber das Formular wird trotzdem gesendet, da das Klicken zum Senden des Formulars das Standardereignisverhalten beim Klicken auf die Schaltfläche „Senden“ ist.

Warum funktioniert die Rückgabe von „false“ in jquery dann nicht?

Ich habe einen JS-Code zur Formularüberprüfung wie folgt geschrieben:

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;  //为啥不管用捏?
        }
      }
    );
  }
Nach dem Login kopieren

Grund: Um Ajax auf synchron zu setzen, müssen Sie $.ajax verwenden. Standardmäßig ist $.get asynchron Geben Sie die Rückruffunktion zurück, deklarieren Sie stattdessen eine Variable in der CheckUserName-Funktion, um den Rückgabewert der Rückruffunktion zu akzeptieren, und CheckUserName gibt dann diesen Wert zurück.
Geänderter Code:

 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的返回值,回调函数返回值没有意义
  }
Nach dem Login kopieren

OK! Testen Sie es, kein Problem!

Wann sollte return und wann return false in js/jquery verwendet werden? Auch hier sind alle verwirrt.

Grundsätzlich wird Return verwendet, um das Ergebnis einer Funktion zurückzugeben. Wenn Sie das Ergebnis nicht benötigen, geben Sie es nicht zurück > Es gibt einige spezielle Verwendungen in jq, wie zum Beispiel $().each(function(){return false;}); Wenn „false“ nicht zurückgegeben wird, werden alle Elemente in einer Schleife durchlaufen. Wenn „false“ einmal zurückgegeben wird, wird kein weiterer Durchlauf durchgeführt und die Schleife wird übersprungen.

Das Obige ist eine detaillierte Studie zu return false in jQuey. Ich hoffe, dass es für das Studium aller hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage