Da der Vorgang nicht ausgeführt wird, müssen wir wissen, wann der Benutzer den Vorgang gestartet hat, und kann event.isDefaultPrevented()
verwenden, um festzustellen, ob diese Methode durch den Ereignis -Handler -Aufruf ausgelöst wird. Dies kann verwendet werden, um Funktionsaufrufe auszulösen. Dies kann auch nützlich sein, um dynamische URLs von XHR in JQuery zu verwenden, z. B. href="index.php?page=contact"
anstelle von contact.php
, um eine Seite mit einem Modul zu erhalten. Möglicherweise möchten Sie auch die Option "Mod Rewrite" ansehen, die diese Funktion und SEO -Vorteile auch bietet. JQuery Stop -Ereignisfunktion. Wenn Sie $(document).bind("keydown keypress", function(event)
verwenden, beachten Sie bitte, dass e.preventDefault()
nicht funktioniert, bitte versuchen Sie event.preventDefault()
. Manchmal haben Sie einen Hyperlink, der ein Hyperlink sein muss, aber Sie möchten nicht, dass er den Link verarbeitet und öffnet, sondern nur eine JavaScript -Funktion aufrufen möchte. Glücklicherweise gibt es eine Funktion in JQuery, die Hyperlink -Operationen stoppen kann.
JQuery PURDDEFAULT () Funktion Demonstration Beispiel
Beispiel 1: Hyperlink -Klicks blockieren und erfassen
$("a").click(function(event) { event.preventDefault(); $('<div> <p>') .append('默认 ' + event.type + ' 已阻止') .appendTo('#log'); }); </p> <p> <strong> Beispiel 2: Blockformularabsaste </strong> </p> <pre class="brush:php;toolbar:false">$('#myform').submit(function(event) { event.preventDefault(); var self = this; window.setTimeout(function() { self.submit(); }, 2000); });
Beispiel 3: Verzögern Sie das Hyperlink -Ziel nach Animationseffekt
$("#ELEMENT_WHICH_AFFECT_THE_SLIDEUP") .click(function(event){ event.preventDefault(); // 阻止链接重定向 var time = 1000; // slideup 效果的时间 var url = $(this).attr("href"); // 选择用于通过 JavaScript 重定向的 URL $("#ELEMENT_TO_SLIDE_UP").slideUp(time); // 效果 window.setTimeout(function(){document.location.href=url;}, time); // 超时并在效果完成后等待 return -1; });
Beispiel 4: Deaktivieren Sie die Tastatur -Scrollen -Schaltfläche
$(document).keydown(function(event){ // 向下移动 if(event.keyCode == '40'){ event.preventDefault(); var posY = $('#'+selectedTxtID).css('top'); posY = parseFloat(posY); var newPosY = posY + 1; $('#'+selectedTxtID).css('top', newPosY+'px'); } });
Diese Funktion kann nicht nur für Hyperlinks verwendet werden, sondern auch für jedes Element mit der Standardaktion, die Sie blockieren möchten.
jQuery PURDDEFAULT () Methode FAQ (FAQ)
Wie ist die Hauptfunktion der Methode von JQuery PURDDEFAULT ()?
Die preventDefault()
-Methode in JQuery wird hauptsächlich verwendet, um zu verhindern, dass der Standardbetrieb von Ereignissen auftritt. Wenn Sie beispielsweise einen Link auf Ihrer Webseite haben und nicht möchten, dass er beim Klicken auf eine andere Seite umgeleitet wird, können Sie die Methode preventDefault()
verwenden, um diese Standardaktion zu blockieren. Diese Methode ist besonders nützlich, wenn Sie Ereignisvorgänge in Ihrem Code steuern möchten und eine höhere Interaktivität für Ihre Webanwendung bieten.
Wie ist der Unterschied zwischen der Methode PURventDefault () und der StopPropagation () -Methode?
Obwohl beide Methoden zur Kontrolle von Ereignisvorgängen verwendet werden, sind ihre Zwecke unterschiedlich. Die preventDefault()
-Methode verhindert, dass das Ereignis stattfindet, während die stopPropagation()
-Methode verhindert, dass das Ereignis im DOM -Baum aufgeblasen wird, wodurch ein übergeordneter Handler der Ereignisbenachrichtigungen verhindert wird. Mit anderen Worten, preventDefault()
behandelt das Standardverhalten von Elementen, während stopPropagation()
den Ereignisstrom in der DOM -Hierarchie übernimmt.
Kann ich die Methode PURDDEFAULT () mit allen Ereignissen verwenden?
nein, preventDefault()
Methode kann nicht mit allen Ereignissen verwendet werden. Es funktioniert nur mit Ereignissen mit Standardaktionen zum Blockieren. Beispielsweise kann es mit dem Anker -Tagged "Click" verwendet werden, um die Standardaktion des Navigierens zur neuen URL zu verhindern. Es kann jedoch nicht mit benutzerdefinierten Ereignissen ohne Standardaktionen verwendet werden.
Wie können Sie überprüfen, ob die Verhinderung (Verhinderung () () für das Ereignis gefordert wurde?
Sie können mit der Methode isDefaultPrevented()
überprüfen, ob preventDefault()
auf das Ereignis aufgerufen wird. Diese Methode gibt einen booleschen Wert zurück - true, wenn preventDefault()
aufgerufen wird, ansonsten falsch.
Kann ich die Methode PURDDEFAULT () im Internet Explorer verwenden?
Ja, Sie können die Methode preventDefault()
im Internet Explorer verwenden. Ältere Versionen von Internet Explorer (IE8 und unten) unterstützen diese Methode jedoch nicht. Für diese Versionen können Sie die returnValue
-Sache des Ereignisobjekts verwenden, um denselben Effekt zu erzielen.
Was passiert, wenn ich PURDDEFAULT () bei einem ungeschriebenen Ereignis aufrufe?
Wenn Sie preventDefault()
bei einem ungeschichtbaren Ereignis aufrufen, ist die Methode ungültig. Ein ungewöhnliches Ereignis bezieht sich auf ein Ereignis, das durch seinen Standardbetrieb nicht blockiert werden kann. Sie können die Eigenschaft cancelable
des Ereignisobjekts verwenden, um zu überprüfen, ob das Ereignis storniert werden kann.
Kann ich für dasselbe Ereignis mehrmals PreventDefault () aufrufen?
Ja, Sie können mehrmals preventDefault()
für dasselbe Ereignis aufrufen, aber es hat keine zusätzlichen Effekte. Sobald die Standardaktion des Ereignisses blockiert ist, wird das Aufrufen von preventDefault()
erneut nichts ändern.
Kann ich PreventDefault () mit Tastaturereignissen verwenden?
Ja, Sie können preventDefault()
mit Tastaturereignissen verwenden. Sie können beispielsweise die Standardaktion des "Schlüsseldown" -Ergners blockieren, um zu verhindern, dass Zeichen in Textfelder eingeben.
Wie kann ich in einer bedingten Anweisung PreventDefault () verwenden?
Sie können preventDefault()
in der bedingten Anweisung zur Steuerung verwenden, wenn Ereignisse blockiert werden sollten. Wenn beispielsweise einige Überprüfungsüberprüfungen fehlschlagen, können Sie die Einreichung von Formularvermittlung verhindern.
Kann ich PreventDefault () mit Touch -Ereignissen verwenden?
Ja, Sie können preventDefault()
mit Touch -Ereignissen verwenden. Sie können beispielsweise die Standardaktion des "TouchStart" -Events blockieren, um die Erkennung von Touch -Gesten zu verhindern.
Das obige ist der detaillierte Inhalt vonStoppen Sie Aktionen mit JQuery .PreventDefault (). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!