2
好的,所以我開始使用jQuery Mobile。我遠不是一個JavaScript專家。 jQuery Mobile非常酷,但它讓我難以理解這個問題。如何僅在jQuery Mobile應用程序中觸發顯示和隱藏一個頁面的事件
我需要在顯示某個頁面時運行某些代碼,然後在隱藏某個頁面時運行某些代碼 - 但僅在層次結構的某個頁面中顯示。我知道如何使用pagecreate和pageshow事件(並使用它們處理需要與每個頁面一起運行的代碼)。不過,我需要能夠檢測何時顯示特定頁面以及何時隱藏。
那麼我試過了什麼?我把一個自定義屬性下列標籤頁上:
<div data-role="content" myspecialattribute="true">
然後在pageshow事件,我用jqmData()來搜索元素。這是成功的,第一次遇到頁面,然後不起作用。由於JQM加載頁面的方式,即使我移動到其他頁面,該標籤和該屬性始終可以在dom中找到,因爲JQM正在使用巧妙的ajax顯示/隱藏頁面。
我花了好幾個小時尋找解決方案 - 但我的JavaScript技能只是不存在。我認爲這很容易,所以我覺得有點愚蠢的求助。
嗨,感謝您的快速和詳細的回覆。我會嘗試一下並回復你。 – iandotkelly
我遇到的一個複雜情況是,我正在使用帶有_layout.cshtml文件的佈局引擎(Razor),就像一個常見的「頁面」div一樣,所以我希望能夠使用「content」div來做到這一點。但是,如果這樣做,那麼我可能會放棄共享佈局文件。 – iandotkelly
+1,檢查。那很好,謝謝。是的,我需要從主佈局頁面移動「頁面」div,但它工作得很好。謝謝。 – iandotkelly