我试图在一个基本上执行 window.location.href = mailto:emailaddress 的点击事件中调用另一个元素的点击事件,但问题是另一个元素有一个 ajax 调用,并且 window.location.href 似乎正在取消阿贾克斯调用。在这种情况下执行 window.location.href 之前,是否有一种简单的方法可以等待 click 事件中的 ajax 调用完成?
以下是 html 和 javascript 的示例:
<a id="email-link" href="mailto:emailaddress@email.com">emailaddress</a>
<div class="right" id="list-items">
<ul>
<li>Item 1</li>
<li>Item</li>
</ul>
</div>
<script type="text/javascript">
$('#list-items').live('click', function () {
jQuery.ajax({
url: "@Url.Action("Index", "Home")",
success: function () {
console.log('done');
}
});
});
$('#email-link').live('click', function () {
//Let's just say it's the first item of the li
var liItem = $('#list-items li').first();
var thisLink = $(this);
window.location.href = thisLink.attr("href");
return false;
});
</script>