IDが「mailToTechOwner」の画像をクリックすると、次のコードが表示されます
$('#mailToTechOwner').live('click', function (e) {
e.preventDefault();
var origSource = $(this).attr("src");
var objDiv = $(this);
//change image to ajax loader
objDiv.attr("src", "/Content/Images/ajax-loader.gif");
$.get("/Project/MailMessage/" + projectId, function (data) {
//change image back to original
objDiv.attr("src", origSource);
window.location = 'mailto:' + data.Email+ '?subject=Alert' + data.Name;
});
});
firebug でコードをステップ実行すると問題なく動作しますが、実行するとメール クライアントがポップアップします (私の場合は Outlook) が、画像はまだ ajax loader です。. この行はすでに実行されていますが:
objDiv.attr("src", origSource);
画像の変更が完了するまで電子メールをポップアップ表示しない方法はありますか? src 属性の変更は非同期アクションですか? 他のコードを実行する前に完了したことを確認するためのコールバックはありますか?