簡體   English   中英

用Javascript實現每次href的每次點擊

[英]Javascript every href onclick

我正在開發一個駐留在網站本身的應用程序,我希望每個鏈接都可以調用一個函數。 我已經試過了:

HTML

<a href="index.php">link</a><br>
<a href="news.php">link 2</a>

使用Javascript

var a = document.getElementsByTagName("a");
for (var i = 0; i < a.length; i++) {
  a[i].onclick = function () {
    return false
  }
}

怎么了? 沒用

由於它不是jQuery,因此應使用preventDefault函數。

var a = document.getElementsByTagName("a");
    for (var i = 0; i < a.length; i++) {
       a[i].onclick = function (e) {
       e.preventDefault();

       doSomething();
    }
}

編輯純JavaScript解決方案

document.addEventListener("click", function(e){
    if (e.nodeName==="A"){
        e.preventDefault();
        return false;
    }
}, false);

這只會向文檔中添加一個事件,並且僅阻止對錨元素的所有單擊。

由於評論,我刪除了舊解決方案,因為這不是jquery問題

不要使用return false ,它比您真正需要的更多。 而是嘗試event.preventDefault()

var a = document.getElementsByTagName("a").forEach(function (e) {
       e.onclick = function (a) {
           doSomething(a);
           return false;
       }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM