Wie kann ich die Standardeinstellung bei einer Onclick-Methode verhindern? Ich habe eine Methode, bei der ich auch einen benutzerdefinierten Wert übergebe
<a href="#" onclick="callmymethod(24)">Call</a>
function callmymethod(myVal){
//doing custom things with myVal
//here I want to prevent default
}
javascript
coure2011
quelle
quelle
onLoaded
zuno wrap
. Oder schreiben Sie stattdessen einfach Ihr eigenes HTML-Markup.preventDefault
, wie "der Standardklick verhindert werden kann" .Meiner Meinung nach ist die Antwort falsch! Er fragte,
event.preventDefault();
wann Sie einfach falsch zurückgeben; es ruftevent.preventDefault();
UND aufevent.stopPropagation();
auch!Sie können es folgendermaßen lösen:
quelle
window.event
was nicht immer für alle Browser verfügbar ist.Versuchen Sie dies (aber verwenden Sie in solchen Fällen die Schaltflächen, wenn Sie keinen gültigen
href
Wert für eine ordnungsgemäße Verschlechterung haben ).quelle
return false;
? Worauf kehren wir überhaupt falsch zurück?Sie können das Ereignis abfangen und dann mit PreventDefault () blockieren - funktioniert mit reinem Javascript
quelle
Platzieren Sie einfach "javascript: void (0)" anstelle von "#" im href-Tag
quelle
Das hat bei mir funktioniert
quelle
Sie können verwenden:
event.stopPropagation();
https://dom.spec.whatwg.org/#dom-event-stoppropagation
quelle
Es wäre zu mühsam, die Funktionsnutzung auf allen HTML-Seiten zu ändern
return false
.Hier ist also eine getestete Lösung, die nur die Funktion selbst patcht:
Dadurch wird der Besuch von IE6, IE11 und dem neuesten Chrome korrekt verhindert
href="#"
nach Abschluss des onclick-Ereignishandlers aufgerufen werden.Credits:
quelle
Wenn Sie es in das Tag einfügen müssen. Nicht die beste Lösung, aber es wird funktionieren.
Stellen Sie sicher, dass Sie das Ereignis onclick vor das href stellen. Arbeitete nur für mich so.
quelle
Eine andere Möglichkeit, dies zu tun, besteht darin, das
event
Objekt innerhalb des Attributs zu verwendenonclick
(ohne dass der Funktion ein zusätzliches Argument hinzugefügt werden muss, um das Ereignis zu übergeben).quelle
Geben Sie dem Element eine Klasse oder ID und verwenden Sie die jquery-Funktion unbind ().
quelle