禁用 JavaScript 中的連結

Anika Tabassum Era 2024年2月15日
  1. href 設定為不同的函式以禁用 JavaScript 中的連結
  2. 使用 addEventListener() 方法禁用 JavaScript 中的連結
  3. 使用 name 屬性禁用 JavaScript 中的連結
  4. 使用 jQuery 禁用 JavaScript 中的連結
禁用 JavaScript 中的連結

JavaScript 約定新增了一種更有效的方法來禁用錨標記 href。通常,我們可以設定 href="#" 以確保連結不會路由到任何地址。

此外,還有 JavaScript 函式方法來定義空分配,例如 href="javascript:void(0)"。同樣,我們也可以宣告 href="javascript://",這意味著該值為 null。

在接下來的部分中,我們將看到我們如何在沒有 JavaScript 的情況下實現禁用連結,並使用更有意義的 JavaScript 實現有效的方法。我們將使用 addEventListener() 方法、name 屬性和禁用已定義連結的 jQuery 方法。

href 設定為不同的函式以禁用 JavaScript 中的連結

在這裡,我們將僅通過設定 href 以獲取空值來禁用連結。這不是暗示該概念的最佳方式,因為你經常需要更改啟用和禁用連結。

因此,保持 href 始終為空需要在每次修改中對連結進行硬編碼。

<html>
<head>
    <title>Disable link</title>
</head>
<body>
    <p>Disable link</p>
    <a href="javascript://" id="home">Youtube</a><br>
    <a href="javascript:void(0)" id="home">Google</a><br>
    <a href="#" id="home">Git</a><br>
</body>
</html>

輸出:

通過將 href 設定為不同的函式來禁用連結

javascript://javascript:void(0)# 評估 href 以得到 null 或未定義的結果。因此,我們得到了一個禁用的連結,但有一些方法可以更好地執行此任務。

使用 addEventListener() 方法禁用 JavaScript 中的連結

我們將有一個錨標籤,其中連結了 Google 的主頁。如果我們希望禁用連結,我們將在 JavaScript 部分手動定義一些條件。

這將使更改的路徑更容易。因此,每次單擊連結時都會觸發 eventListener()

該功能將阻止單擊連結時的預設活動,即路由到連結的實際頁面。

<html>
<head>
    <title>Disable Link using JavaScript</title>
</head>
<body>
    <p>Disabled Link using JavaScript</p>
    <a href='https://www.google.com/' id='home' target='blank'>Google</a>
</body>

<script>
    var link = document.getElementById('home');
        document.addEventListener('click', function (e) {
            if (e.target.id === link.id) {
                e.preventDefault();
            }
        });
</script>
</html>

輸出:

使用 addEventListener() 方法禁用連結

使用 name 屬性禁用 JavaScript 中的連結

在本例中,我們將關注 name 屬性。基本任務是啟用 eventListener(),但這次的條件檢查將使用 name 屬性。

如你所見,評論 e.preventDefault(); 將導致路由到實際站點。因此,這是通過設定 preventDefault 來禁用連結的一種方法。

<html>
<head>
    <title>Disable Link using JavaScript</title>
</head>
<body>
    <p>Disabled Link using JavaScript</p>
    <a href='https://github.com/' target='blank' name="git">GitHub</a>
  </body>
<script>
        document.addEventListener('click', function (e) {
            if (e.target.name === 'git') {
                e.preventDefault();
            }
        });
</script>
</html>

輸出:

使用名稱屬性禁用連結

使用 jQuery 禁用 JavaScript 中的連結

jQuery 執行的任務與我們已經檢查過的任務沒有什麼不同。但是語法有點不同。

在這裡,我們不會使用 preventDefault() 方法。相反,每次點選連結時我們都會返回一個布林值 false

這將連續禁用預定連結。

<html>
<head>
    <title>Disable link using jQuery</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
    <p> Disabled link using jQuery</p>
    <a href="https://www.youtube.com/" id="home" target="blank">Youtube</a>
</body>
<script>
    $(document).ready(function () {
        $('#home').click(function () {
            return false;
        });
    });
</script>
</html>

輸出:

使用 jQuery 禁用連結

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook