基本的にwindow.location.href = mailto:emailaddressを実行するクリックイベント内で別の要素のクリックイベントを呼び出そうとしていますが、問題は他の要素にajax呼び出しがあり、window.location.hrefがキャンセルしているようですajax 呼び出し。このシナリオで window.location.href を実行する前に、クリック イベント内の 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>