preventDefault javascript不阻止url重定向

preventDefault javascript不阻止url重定向,javascript,preventdefault,Javascript,Preventdefault,我的html是 <a class="delete" href="/FolderComment/delete/12">delete</a> 但它不工作,页面被重定向 这是一个您的选择器应该是a。删除-注意空间不足 正如所写的那样,您的回调处理程序甚至没有被调用,因为您的选择器正在查找类的元素。请删除从派生而来的,而不是具有该类的 其次,出于安全原因,如果链接指向远程资源,浏览器可能不允许劫持链接 正如@NickW所指出的,可以重定向页面本地链接(以#开头)。但是,如果您希

我的html是

<a class="delete" href="/FolderComment/delete/12">delete</a>
但它不工作,页面被重定向


这是一个

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

正如所写的那样,您的回调处理程序甚至没有被调用,因为您的选择器正在查找类
的元素。请删除从
派生而来的
,而不是具有该类的

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

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

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

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

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

正如所写的那样,您的回调处理程序甚至没有被调用,因为您的选择器正在查找类
的元素。请删除从
派生而来的
,而不是具有该类的

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

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

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

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

如果您的
href
前面加了#,您应该能够避免重定向。我已经分叉了您的并添加了@Alnitak的选择器更改。

如果您的
href
前面加了#,您应该能够避免重定向。我已经分叉了您的,并在选择器中添加了@Alnitak的更改