私の目的はかなり単純です。私の webapp には 2 つのページがあり、それぞれを別のページから呼び出したいと考えています。
しかし、Javascript で関数呼び出しを実装した方法には欠陥があるようです。closure、bubbling、recursionおよびを読みましたが、event.stopPropagation()これを実装する正しい方法はまだわかりません。
これが私の問題を再現できる最小のコードです。
関数init(){
var $div1 = 'クリックしてページ 2 をロード';
$("#main").append($div1);
var $div2 = 'クリックしてページ 1 に戻ります';
$("#main").append($div2);
displayFirstPage();
}
関数displayFirstPage() {
var $div1 = $("#div1");
var $div2 = $("#div2");
$div2.hide();
$div1.show();
alert("最初に呼び出された");
$div1.click(関数(){
displaySecondPage();
});
}
関数displaySecondPage() {
var $div1 = $("#div1");
var $div2 = $("#div2");
alert("2 番目に呼び出された");
$div1.hide();
$div2.show();
$div2.click(関数(){
displayFirstPage();
});
}
div を数回クリックすると、多数のアラートが表示されます。各呼び出しを 1 回実行するだけです。明らかに、関数呼び出しを終了する方法がありません。
どんな助けでも感謝します。