我很好奇什么是用HTML中的href链接调用JS函数的最佳方法。我没有使用库,我看到很多关于使用事件处理程序的jquery的提及......
但是,如果我不使用图书馆仍然可以完成,或者我必须使用点击类型的电话吗?
答案 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)
我更喜欢后者。