1

メインのJavaScriptファイルに次のものがあります。

window.onbeforeunload = function () {
    firstFunction();
}

$("a").live("click", function() {
   secondFunction();
}

ユーザーがページをアンロードするリンクをクリックすると(つまり、別のページに移動すると)、これらの関数の両方が呼び出されます。FirstFunction()が最初に呼び出され、次にsecondFunction()が呼び出されます。firstFunction()の前にsecondFunction()を呼び出したい。

私はこれを行うことでこれを達成することができました:setTimeout('firstFunction()、100)、しかし私はこれを行うより良い方法があるかどうか疑問に思っていますか?

ありがとう。

4

2 に答える 2

1

クリックの代わりにmousedownイベントを使用することをお勧めします。

于 2012-05-04T16:28:52.727 に答える
0

これを試してください-すべての外部リンクにclass="external"を与えます

window.onbeforeunload = function () {
    firstFunction();
}
$(document).ready(function() {
  $("a").click(function() {
     if ($(this).hasClass("external")) secondFunction();
  });
});
于 2012-05-04T16:32:35.020 に答える