Sie müssen verhindern, dass die Standardantwort stattfindet.
Der altmodische Ansatz besteht darin, return false
zurückzugeben:
Klick mich!
Oder besser:
Klick mich!
window.onload = function() {
document.getElementById('myLink').onclick = function(event) {
alert('Sie haben auf einen Link geklickt.');
return false;
};
};
Der beste Ansatz heutzutage besteht darin, die richtige Methode der event
Eigenschaft aufzurufen:
Klick mich!
window.onload = function() {
document.getElementById('myLink').onclick = function(event) {
alert('Sie haben auf einen Link geklickt.');
event.preventDefault(); // <---
};
};
Es ist auch am besten, das #
durch eine URI zu einer geeigneten Seite zu ersetzen, für Personen, die kein JavaScript verwenden. In einigen Rechtssystemen ist Barrierefreiheit tatsächlich eine gesetzliche Anforderung.
Bearbeiten Behoben für blödes IE:
function f() {
document.getElementById('myLink').onclick = function(e) {
alert('Sie haben auf einen Link geklickt.');
if (!e) {
var e = window.event;
}
// e.cancelBubble wird von IE unterstützt - dies wird den Bubbling-Prozess beenden.
e.cancelBubble = true;
e.returnValue = false;
// e.stopPropagation funktioniert nur in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
};
window.onload = f;