繁体   English   中英

从Href调用JS函数

[英]Calling JS functions from Href

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

但是,如果我不使用库仍然可以完成或我将不得不使用点击类型调用?

您可以使用普通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)
    }
});

尝试这个

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

基本上有两种方法:

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

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

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

我更喜欢后者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM