簡體   English   中英

無法阻止默認鏈接操作

[英]Can't prevent default link action

我有一個全局范圍內的函數作為link( <a> )處理程序:

function sort(e, field) {
e.preventDefault();

/*  sort process ...   */
}

我有一個鏈接動態顯示在我的HTML頁面中:

<a onclick="sort(this,'title')" href="addr" id="sortByTitle">Book title</a>

盡管有e.preventDefault(); 該鏈接仍會執行默認操作。

注意: 通過ajax加載我的鏈接非常重要。

嘗試僅使用沒有html的“ onclick”的javascript

function sort(e, field)
{
e.preventDefault();

/*  sort process ...   */
}
$("#sortByTitle").click(function(event) { sort(event, 'title'); });

您必須使用addEventListener來監聽click事件,如下所示:

document.getElementById("sortByTitle").addEventListener("click", function(event){
    event.preventDefault();
    alert("Hello!!");
});

看看這個小提琴: https : //jsfiddle.net/rjnkuosL

編輯:

嘗試這個:

<a href="#" onclick="event.preventDefault(); sort();" />Book title</a>

如果必須使用onclick屬性,則return false;否則, return false; 將阻止那里的默認操作。

<a onclick="sort(this,'title'); return false;" href="addr" id="sortByTitle">Book title</a>

暫無
暫無

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

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