2011-10-11 31 views

Trả lời

13

aboutPage phải là id của trang. (Ví dụ: data-role="page"). live() gắn funcion bạn đã xác định trong đó có alert đến sự kiện pageinit của aboutPage. pageinit được kích hoạt trên trang khi trang được khởi tạo.

Vì vậy, trong ngắn hạn gì mã của bạn làm là

nó sẽ thực hiện tuyên bố cảnh báo khi aboutPage được khởi

Các trang có thể được khởi tạo ngay cả khi nó không phải là trong view.So ngay cả trước bạn đi đến trang đó, pageinit của div sẽ được kích hoạt.Nếu bạn đang tải một tệp html khác làm trang mới pageinit cho trang đó sẽ chỉ được kích hoạt khi bạn tải trang đó vào chế độ xem. Do đó, trong trường hợp của bạn nếu bạn muốn để làm điều gì đó khi div của bạn xuất hiện, bạn có thể thử e pagebeforeshowpageshow. pagebeforeshow sẽ được kích hoạt trên trang mới trước khi hoạt ảnh bắt đầu và pageshow sau khi hoạt ảnh kết thúc.

+0

Yup. Đó là những gì tôi đoán nó sẽ được và tôi đã cố gắng hooking lên sự kiện pageinit trên div với data-role = "page" nhưng đối với một số lý do phương pháp không được gọi là lần đầu tiên tôi chuyển sang một trang. Khi tôi nhấn làm mới phương thức được gọi. –

+0

Đã chỉnh sửa câu trả lời để giải thích về điều này. – user700284

+3

Đã tìm ra. Mỗi trang đều có javascript riêng để kết nối các sự kiện 'pageshow'. Tuy nhiên tôi đã sử dụng $ .mobile.changePage mà chỉ tải một div với data-role = trang và không có gì khác trên trang đó (bao gồm cả javascript nội tuyến) được thực thi. Đây là câu trả lời đã giúp tôi http://stackoverflow.com/questions/7449402/jquery-mobile-mobile-changepage-not-loading-external-js-files/7449731#7449731 –

Các vấn đề liên quan