tried t-6ren">
gpt4 book ai didi

javascript - PreventDefault javascript 不会阻止 url 重定向

转载 作者:行者123 更新时间:2023-11-28 16:11:29 25 4
gpt4 key购买 nike

我的html是

<a class="delete" href="/FolderComment/delete/12">delete</a>

我的js是

$("a .delete").click(function(e){

//e.preventDefault(); --> tried that too
var href = this.attr("href");
$.post(
href, {},
function(data){
alert(data);
}
);
return false;
});

但它不起作用,页面被重定向。

这是一个jsfiddle

最佳答案

您的选择器应该是 a.delete - 注意空间不足。

正如所写,您的回调处理程序甚至没有被调用,因为您的选择器正在寻找类 .delete 的元素。这是 <a>后代 ,不是 <a> 那个类。

其次,出于安全原因,如果链接指向远程资源,您的浏览器可能不允许被劫持。

正如 @NickW 所指出的,页面本地链接(以 # 开头)可以被重定向。但是,如果您希望页面在没有 JS 的情况下正常工作,那么您可能无法做到这一点。

在这种情况下,一个简单的修复方法是在页面加载时使用 JS 重写所有此类链接:

$('a[href^="/"]').attr('href', function(index, val) {
return '#' + val;
});

关于javascript - PreventDefault javascript 不会阻止 url 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12813678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com