我在这里寻求帮助。
<a class="text" href="http://test.com?id=87"><img src="/2016/02/BlueFantasyThumb.jpg"><h3>Milky</h3></a>
当我点击这个时,我需要做一些我知道怎么做的事情。但问题是我需要执行ajax然后转到那个href链接。
点击我知道使用e.preventDefault();我们可以防止默认行为。但情况是我不想阻止这一点。我希望在ajax实现之后发生那个事件而没有任何观察点阻碍。
任何形式的输入都会对我有所帮助。感谢。
答案 0 :(得分:2)
您可以将href
值存储在变量中,调用e.preventDefault()
以防止重定向并运行您的ajax代码。在您的ajax成功回调中,您可以选择href
值并使用javascript重定向到该链接。
$("a.text").on("click", function(e){
e.preventDefault();
var href = $(this).attr("href");
$.ajax({
url: URL,
data: DATA,
success: function(response){
// your code here to be executed before redirecting
window.location.href = href;
}//success
});//ajax
});//click
答案 1 :(得分:2)
1)设置html,如
<a class="text" data-href="http://test.com?id=87"><img src="/2016/02/BlueFantasyThumb.jpg"><h3>Milky</h3></a>
2)添加点击事件
$(".text").click(function() { // set ajax
var url = $(this).attr("data-href");
$.ajax({
url: "ajax.php", // set required url here
}).done(function() {
alert("sucess")
window.location.href = url; // redirect page in ajax success
});
});
答案 2 :(得分:1)
将href更改为javascript:;
然后你的ancor标签onclick事件调用ajax调用函数
在ajax成功函数中
写
window.location.href =&#34; http://test.com?id=87&#34;;