2 Stimmen

Aufrufen von JS-Funktionen aus Href

Ich bin neugierig, was der beste Weg, um eine JS-Funktion mit einem href-Link in HTML aufrufen. Ich benutze keine Bibliothek und ich sehe viel Erwähnung über Jquery mit Event-Handler ...

Aber wenn im nicht mit einer Bibliothek kann es noch getan werden, oder muss ich einen auf Klick Typ Aufruf verwenden?

4voto

jfriend00 Punkte 632952

Sie können Event-Handler mit einfachem Javascript verwenden. Es ist kein Framework erforderlich. Hier ist eine browserübergreifende Funktion, die ich verwende:

// add event cross browser
function addEvent(elem, event, fn) {
    if (elem.addEventListener) {
        elem.addEventListener(event, fn, false);
    } else {
        elem.attachEvent("on" + event, function() {
            // set the this pointer same as addEventListener when fn is called
            return(fn.call(elem, window.event));   
        });
    }
}

Und ein Beispiel für die Verwendung wäre so:

HTML:

<a id="myLink" href="#">Click ME</a>

Javascript:

var link = document.getElementById("myLink").
addEvent(link, "click", function(e) {
    // process the click on the link here
});

Wenn Sie nicht wollen, dass ein Link standardmäßig angeklickt wird, müssen Sie das Standardverhalten des Event-Handlers wie folgt verhindern:

var link = document.getElementById("myLink").
addEvent(link, "click", function(e) {
    // process the click on the link here

    // prevent default action of the click
    if (e.preventDefault) {
        e.preventDefault();      // normal browsers
    } else {
        e.returnValue = false;   // older versions of IE (yuck)
    }
});

2voto

William Calvin Punkte 625

Versuchen Sie dies

function test() { alert (''); } <a href="#" onclick="test();" />

2voto

Eugene Retunsky Punkte 12771

Es gibt im Wesentlichen zwei Möglichkeiten:

<a href="javascript:someFunction(...)">...</a>

y

<a href="#" onclick="return someFunction(...)">...</a>

(in diesem Fall muss someFunction false zurückgeben)

Ich bevorzuge Letzteres.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X