Javascript 按类名侦听href的单击事件

Javascript 按类名侦听href的单击事件,javascript,html,href,event-listener,Javascript,Html,Href,Event Listener,有一个页面包含一些我无法触摸的基本HTML,如下所示: <a class="continue-shopping" href="https://someURL">Continue shopping</a> } 它总是忽略第二个函数,我确信我做了一些非常基本的错误。再次感谢您的帮助 除了preventDefault()之外,还可以使用returnfalse window.onload = function () { var myClass = document.qu

有一个页面包含一些我无法触摸的基本HTML,如下所示:

<a class="continue-shopping" href="https://someURL">Continue shopping</a>
}


它总是忽略第二个函数,我确信我做了一些非常基本的错误。再次感谢您的帮助

除了
preventDefault()
之外,还可以使用
returnfalse

window.onload = function () {
    var myClass = document.querySelector(".continue-shopping")
        .onclick = function () {
        window.location.href = "http://elsewere.com";
        return false;
    }
}

这段代码应该可以工作,但它不再工作了,我不知道为什么任何提示都很受欢迎-myClass[0]似乎有一些问题

window.onload = function() {

    var myClass = document.getElementsByClassName('continue-shopping'); 

    myClass[0].addEventListener("click", function(e) {
        e.preventDefault();
        window.location.href = document.referrer;
        });
    }

myClass[0].onclick=function(){window.open(document.referer,“\u self”);返回false;}
返回false几乎是一种老式的“防止默认值”@SparK:
返回false
=
event.prevetDefault()
+
event.stopPropagation()
@JFK。请注意,此行为不同于普通(非jQuery)事件处理程序,其中,return false不会阻止事件冒泡。。。。因此
返回false
=
事件.preventDefault()
@SparK:您是正确的,但是在非jQuery上下文中,
preventDefault
不是老式的
返回false在这种情况下,它将是另一种方式around@JFK这就是我在第一条评论中所说的。你们真的很擅长这个。再次,许多thx!我还不知道足够的js来决定哪种方法更可取!取决于您想要的副作用:*onclick将覆盖以前的onclick侦听器。*addEventListener方法将只添加另一个侦听器,而不删除前一个侦听器。
window.onload = function () {
    var myClass = document.querySelector(".continue-shopping")
        .onclick = function () {
        window.location.href = "http://elsewere.com";
        return false;
    }
}
window.onload = function() {

    var myClass = document.getElementsByClassName('continue-shopping'); 

    myClass[0].addEventListener("click", function(e) {
        e.preventDefault();
        window.location.href = document.referrer;
        });
    }