从Href调用JS函数

时间:2012-03-27 03:19:14

标签: javascript

我很好奇什么是用HTML中的href链接调用JS函数的最佳方法。我没有使用库,我看到很多关于使用事件处理程序的jquery的提及......

但是,如果我不使用图书馆仍然可以完成,或者我必须使用点击类型的电话吗?

3 个答案:

答案 0 :(得分:4)

您可以使用普通javascript的事件处理程序。不需要框架。这是我使用的跨浏览器功能:

// 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));   
        });
    }
}

并且,使用它的一个例子是这样的:

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
});

如果您不希望发生链接的默认点击,那么您需要阻止事件处理程序的默认行为,如下所示:

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)
    }
});

答案 1 :(得分:2)

试试这个

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

答案 2 :(得分:2)

基本上有两种方式:

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

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

(在这种情况下someFunction必须返回false)

我更喜欢后者。