Fügen Sie JavaScript MDCRipple zu Ajax Loaded Button hinzu

Fügen Sie JavaScript MDCRipple zu Ajax Loaded Button hinzu

In diesem Tutorial lernen Sie, MDCRippel zu einer mit AJAX geladenen HTML-Schaltfläche hinzuzufügen. Wir verwenden MDC über ihre CSS- und JavaScript-Dateien aus dem UNPKG CDN.

Fügen Sie JavaScript MDCRipple zu Ajax Loaded Button hinzu

Eine AJAX-Anfrage funktioniert auf einem Server, daher können Sie diesen Abschnitt überspringen, wenn Sie Zugriff auf einen Live-Server haben; Wenn Sie jedoch keinen Zugriff auf einen Live-Server haben, laden Sie XAMPP herunter.

Suchen Sie nach der Installation von XAMPP den Ordner htdocs in Ihrer XAMPP-Installation und erstellen Sie ein Arbeitsverzeichnis. Dieses Verzeichnis enthält das Codebeispielprojekt in diesem Artikel.

Unser HTML-Code lädt die MDC CSS- und JavaScript-Dateien aus dem UNPKG CDN. Außerdem enthält es ein <main>-Element, das aus einem HTML <button> besteht.

Diese Schaltfläche hat ein onclick-Ereignisattribut, dessen Wert eine Funktion ist. Diese Funktion wird aufgerufen, wenn der Benutzer auf die Schaltfläche klickt und die AJAX-Anforderung initiiert.

Der folgende Code ist also der HTML-Code.

<head>
	<meta charset="utf-8">
	<title>MDC with Ajax</title>
    <script src="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.js"></script>
	<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
</head>
<body>
	<main id="mdc-button-container">
		<button type="button" onclick="loadMDCButton()">CLICK ME</button>
    </main>
</body>
</html>

Als nächstes erstellen und speichern Sie eine weitere HTML-Datei in Ihrem Arbeitsverzeichnis. Sie können die Datei mdc-button.html nennen.

Diese Datei enthält den Code für die HTML-Schaltfläche. Darüber hinaus wird die Schaltfläche MDC-Klassennamen haben.

Es wird also einfach sein, MDCRippel über JavaScript anzuhängen. Das Folgende ist der Code für mdc-button.html.

<button class="mdc-button mdc-button--raised">
  <span class="mdc-button__ripple"></span>
  <span class="mdc-button__label">Click for Ripple</span>
</button>

Der JavaScript-Code erstellt eine AJAX-Verbindung und funktioniert wie folgt:

  1. Erstellen Sie eine neue XMLHttpRequest.
  2. Verwenden Sie die onload-Methode von XMLHttpRtouest, um Folgendes zu tun.
    2.1 Ermitteln Sie die ID des <main>-Elements.
    2.2 Setzen Sie seine Eigenschaft innerHTML auf den Antworttext von XMLHttpRequest.
    2.3 Hängen Sie MDCRippel an die Schaltfläche in mdc-button.html an.
  3. Öffnen Sie eine GET-Anforderung an die Datei mdc-button.html.
  4. Senden Sie die mdc-button.html als Ersatz für die Schaltfläche im Element <main>.

Das Folgende ist der Code für die JavaScript-Funktion.

function loadMDCButton() {
  const xhttp = new XMLHttpRequest();
  xhttp.onload = function() {
    document.getElementById('mdc-button-container').innerHTML =
        this.responseText;
    mdc.ripple.MDCRipple.attachTo(document.querySelector('.mdc-button'));
  } xhttp.open('GET', 'mdc-button.html', true);
  xhttp.send();
}

Im Folgenden finden Sie den vollständigen Code für unser Beispielprojekt.

<head>
	<meta charset="utf-8">
	<title>MDC with Ajax</title>
	<script src="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.js"></script>
	<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
</head>
<body>
	<main id="mdc-button-container">
		<button type="button"  onclick="loadMDCButton()">CLICK ME</button>
	</main>
	<script type="text/javascript">
		function loadMDCButton() {
			const xhttp = new XMLHttpRequest();
			xhttp.onload = function() {
				document.getElementById("mdc-button-container").innerHTML = this.responseText;
				mdc.ripple.MDCRipple.attachTo(document.querySelector('.mdc-button'));
			}
			xhttp.open("GET", "mdc-button.html", true);
			xhttp.send();
		}
	</script>
</body>

Ausgang:

MDCRippel auf einer HTML-Schaltfläche

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

Verwandter Artikel - JavaScript Ajax