簡體   English   中英

如何在加載jQuery之前禁用所有鏈接?

[英]How to disable all links before load jQuery?

我需要一個純Javascript代碼來在加載頁面時禁用所有鏈接,避免在使用Facebox時單擊它們並重定向到其他頁面。

可以是我放在<head><script>標記中的內容。

有什么建議么?

編輯:

好吧,我得到的是,在head不起作用。 但是在body結局方面工作正常。 這就是為什么我要提出建議。 :)

使用document.links並通過preventDefault()防止其默認行為。

var links = document.links;
for (var i = 0, length = links.length; i < length; i++) {
    links[i].onclick = function(e) {
        e = e || window.event;
        e.preventDefault();
    }
}

如果您想要永久禁用鏈接,請使用removeAttribute('href')

如果您不想使用DOMContentLoadedwindow load事件,請將此代碼放在結束body標記之后的某個位置。

否則,您不能將其放在head元素中並立即執行,因為document.links最肯定是空的。

使它成為您的頭部中的第一個腳本標簽:

window.onclick = function(e) {
    if(typeof $ === 'undefined') {
            e = e || window.event;
        e.preventDefault();
    }
}

這將捕獲所有單擊事件,如果未定義$ ,則取消該事件。

具有即使在加載DOM之前也可以工作的優點。

在頁面中,為所有鏈接提供空的href值。 使用load事件分配適當的值。 使用javascript禁用或不可用的用戶將看到斷開的鏈接。

暫無
暫無

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

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