通过classname监听href的click事件

时间:2015-08-31 03:02:44

标签: javascript html href event-listener

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

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

我想要做的是在用户点击someURL文本链接时将用户发送到其他链接。用户可以从许多其他页面进入包含此html的页面。

我已经尝试了很多小时但是无法让我的js识别与超链接文本相关联的类的单击事件。我真的可以在这里使用一些帮助。这是我写的js代码不起作用

window.onload = function() {
prepEventHandler();

}

function prepEventHandler () {

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

myClass[0].onclick=window.open(document.referrer,"_self");

/*  which make my pages go haywire OR THIS -- which also does not work */


 myClass[0].addEventListener("click", function() {
 window.open(document.referrer,"_self");
 }
 )
}

它只是忽略了第二个功能,我确信我正在做一些非常基本的错误。再次感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

这段代码应该可以工作,但它不再有用,我不知道为什么有任何提示非常赞赏 - myClass似乎有些问题[0]

window.onload = function() {

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

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

答案 1 :(得分:0)

preventDefault()外,您还可以使用return false

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