Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Anwendungsbeispiele von jQuery.holdReady(hold)

Detaillierte Erläuterung der Anwendungsbeispiele von jQuery.holdReady(hold)

Jun 16, 2017 pm 03:20 PM
使用方法 实例 详解

Ausführung des .ready()-Ereignisses anhalten oder fortsetzen.

Die Methode $.holdReady() ermöglicht es dem Aufrufer, das Ready-Ereignis von jQuery zu verzögern. Diese erweiterte Funktionalität wird in der Regel mit einem dynamischen Skript-Loader durchgeführt, der JavaScript wie ein jQuery-Plugin lädt und das Auftreten zusätzlicher Bereitschaftsereignisse ermöglicht, selbst wenn das DOM möglicherweise bereit ist. Diese Methode muss früh in der Datei aufgerufen werden, unmittelbar nach dem

jQuery-Skript wie diesem. Der Aufruf dieser Methode nach dem Ready-Ereignis hat keine Auswirkung, selbst wenn es ausgegeben wurde.

Um das Bereitschaftsereignis zu verzögern, rufen Sie zum ersten Mal $.holdReady(true) auf. Wenn das Ready-Ereignis ausgeführt werden soll, wird $.holdReady(false) aufgerufen. Bitte beachten Sie, dass mehrere Holds für das Ready-Ereignis platziert werden können, wobei jeder nacheinander $.holdReady(true) aufruft. Das Ready-Ereignis wird erst ausgeführt, wenn alle entsprechenden $.holdReady(false) gepostet wurden und die normalen Datei-Ready-Bedingungen erfüllt sind.

jQuery.holdReady(hold) Rückgabewerttyp boolean

Mit der Methode jquery.holdReady() kann das Abschlussereignis von jQuery durch diese Funktion gesperrt werden.
Eine typische Anwendung dieser erweiterten Funktion ist das dynamische Laden von Skripten wie jQuery-Plug-ins usw.
Das jQuery-Abschlussereignis wird erst ausgelöst, wenn das angehängte Skript geladen wird, selbst wenn die Seite bereit ist.
Diese Funktion muss im vorderen Teil der Seite aufgerufen werden, z. B. im Tag, jQuery lädt die nächste Zeile.
Der Aufruf dieser Funktion, nachdem das Abschlussereignis ausgelöst wurde, hat keine Auswirkung.
Verwendung: Erster Aufruf von .holdReady(true) [das Abschlussereignis wird nach dem Aufruf gesperrt]. Wenn Sie bereit sind, das Abschlussereignis auszulösen, rufen Sie .holdReady(false) auf. Es ist zu beachten, dass
dem Abschlussereignis mehrere Sperren hinzufügen kann und jede Sperre einem Aufruf von $.holdReady(false)[unlock] entspricht.
Das Abschlussereignis von jQuery wird ausgelöst, wenn alle Sperren aufgehoben wurden und die Seite bereit ist.
Tatsächlich handelt es sich um eine Sicherheitssperre für einige Codes, die auf dynamische Skripte angewiesen sind.
Das Ready-Ereignis wird ausgeführt, nachdem die erforderlichen dynamischen Skripte geladen wurden, und nicht, nachdem der DOM-Baum erfolgreich erstellt wurde.

Beispielcode:

Beispiel 1:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title>php.cn</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
jQuery.holdReady(true);
$(document).ready(function(){
  alert("我不会被弹出");
})
</script>
</head>
<body>
  
</body>
</html>
Nach dem Login kopieren

Im obigen Code aufgrund der Hinzufügung von jQuery.holdReady(true), obwohl das Dokument geladen ist , es wird nicht Die Funktion in ready() wird ausgeführt.

Beispiel 2:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title>php.cn</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
</head>
<body>
<button id="first">点击测试弹出</button>
<button id="second">解除延迟</button>
<script type="text/javascript">
jQuery.holdReady(true) 
$(document).ready(function(){
  $("#first").click(function(){
    alert("我不会被弹出");
  })
})
$("#second").click(function(){
  jQuery.holdReady(false);
})
</script>
</body>
</html>
Nach dem Login kopieren

Wenn Sie klicken, um die Verzögerung aufzuheben, wird sie angezeigt.

Schauen wir uns noch einmal ein kleines Beispiel an

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="index.js"></script>
<title>Insert title here</title></head>
<body>
<input type="button" id="btn" value="呵呵">
</body>
</html>
Nach dem Login kopieren

Dann gibt es zwei js-Dateien

Die erste geladene ist index.js

$.holdReady(true);//将holdReady改为ture,点击按钮就没有任何效果,改为false就可以是用来里面的js事件$(function(){
    $('#btn').click(function(){
        alert(123);
    });

});
Nach dem Login kopieren

Schreiben Sie unten Es gibt zwei js-Dateien index.js und hold.js

Nur ​​index.js wird in JSP geladen, und es wird entschieden, ob hold.js in index.js geladen werden soll
Der Code ist wie folgt:

//hold.js$(function(){
    alert('这是使用holdReady加载出来的');
}); 

//index.jsjQuery.holdReady(true)
$.getScript("hold.js", function() {
    jQuery.holdReady(false);
});
Nach dem Login kopieren

Wenn Sie hold.js laden, rufen Sie eine Rückruffunktion auf und ändern Sie true in false, damit die Datei hold.js geladen werden kann

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Anwendungsbeispiele von jQuery.holdReady(hold). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich das DirectX-Reparaturtool? Detaillierte Verwendung des DirectX-Reparaturtools Wie verwende ich das DirectX-Reparaturtool? Detaillierte Verwendung des DirectX-Reparaturtools Mar 15, 2024 am 08:31 AM

Wie verwende ich das DirectX-Reparaturtool? Detaillierte Verwendung des DirectX-Reparaturtools

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11

So verwenden Sie Baidu Netdisk – So verwenden Sie Baidu Netdisk So verwenden Sie Baidu Netdisk – So verwenden Sie Baidu Netdisk Mar 04, 2024 pm 09:28 PM

So verwenden Sie Baidu Netdisk – So verwenden Sie Baidu Netdisk

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL

Mar 18, 2024 am 11:07 AM

So verwenden Sie das Xiaomi Win7-Aktivierungstool - So verwenden Sie das Xiaomi Win7-Aktivierungstool So verwenden Sie das Xiaomi Win7-Aktivierungstool - So verwenden Sie das Xiaomi Win7-Aktivierungstool Mar 04, 2024 pm 06:16 PM

So verwenden Sie das Xiaomi Win7-Aktivierungstool - So verwenden Sie das Xiaomi Win7-Aktivierungstool

So verbinden Sie Zellen mithilfe von Tastenkombinationen So verbinden Sie Zellen mithilfe von Tastenkombinationen Feb 26, 2024 am 10:27 AM

So verbinden Sie Zellen mithilfe von Tastenkombinationen

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators

See all articles