我的目標很簡單。在我的webapp中,我有兩個頁面,我想從另一個頁面調用每個頁面。結束多個調用(由於循環引用) - jQuery
但我用JavaScript實現函數調用的方式似乎有缺陷。我已閱讀closure
,bubbling
,recursion
和event.stopPropagation()
,但仍不確定實現此目標的正確方法。
這裏,我可以重現我的問題最小的代碼。
function init(){ var $div1 = 'Click to Load page 2'; $("#main").append($div1); var $div2 = 'Click to go back to page 1'; $("#main").append($div2); displayFirstPage(); } function displayFirstPage() { var $div1 = $("#div1"); var $div2 = $("#div2"); $div2.hide(); $div1.show(); alert("first called"); $div1.click(function(){ displaySecondPage(); }); } function displaySecondPage() { var $div1 = $("#div1"); var $div2 = $("#div2"); alert("second called"); $div1.hide(); $div2.show(); $div2.click(function(){ displayFirstPage(); }); }
點擊的div了幾次之後,我結束了衆多警告的彈出。我只想讓每個調用都執行一次。顯然,我錯過了終止函數調用的方式。
任何幫助表示讚賞。
謝謝您的解釋和代碼,@Greg Ross。我+1了你,並接受高爾夫的答案,因爲他是第一個迴應。問候,拉姆 –