我的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
答案 0 :(得分:3)
您的选择器应为a.delete
- 请注意缺少空间。
如上所述,您的回调处理程序甚至没有被调用,因为您的选择器正在查找.delete
的降级的类<a>
的元素,而不是{{ 1}} 有那个类。
其次,出于安全原因,如果他们要访问远程资源,您的浏览器可能不允许链接被劫持。
正如@NickW指出的那样,可以重定向页面本地链接(以<a>
开头)。但是,如果您希望页面正常工作没有 JS,那么您可能无法做到这一点。
在这种情况下,一个简单的解决方法是使用JS在页面加载时重写所有这些链接:
#
答案 1 :(得分:1)
如果href
前面带有#,则应该可以避免重定向。我已经分叉了你的JS fiddle并在@Alnitak中添加了选择器更改。