2013-02-01 31 views
10

Tôi đang làm việc trên ứng dụng với jQuery mobile, tôi đang cố gắng đặt tất cả các trang trong userpanel vào một tệp lớn và chạy nó bằng một tệp .js lớn. Những gì tôi không biết là nếu tôi có thể viết tập tin .js của tôi theo cách này:Trang jQuery trên/live/bind pageinit, pageshow

để khởi tạo khi userpanel được nạp

$(document).on('pageinit', function(){ 

}); 

và hơn khi trang nhất định sẽ được gọi bởi id nếu tôi có thể đặt này:

$("#userpanel").on('pageshow', function(){ 

}); 

bên trong một đầu tiên như thế này cho mỗi trang:

$(document).on('pageinit', function(){ 

    $("#userpanel").on('pageshow', function(){ 

    }); 

    $("#*********").on('pageshow', function(){ 

    }); 

    $("#*********").on('pageshow', function(){ 

    }); 

}); 

và như vậy trên, đây là cách nó hoạt động hay tôi hiểu lầm khái niệm cơ bản của jQuery/JS? Nếu có thì cách tốt là gì?

Trả lời

3

Trước hết không sử dụng page events làm trẻ em của các sự kiện trang khác, không có nghĩa là làm việc như vậy. Trong trường hợp này, tất cả các sự kiện pageshow sẽ kích hoạt bình thường mà không có cha mẹ của chúng pageinit.

Here's một làm việc jsFiddle ví dụ.

Để tìm hiểu thêm về jQuery Mobile sự kiện trang hãy xem này ARTICLE, phải minh bạch hơn nó là blog cá nhân của tôi. Hoặc nó có thể được tìm thấy HERE.

cách Vì vậy, đúng để khai báo các sự kiện trang sẽ là như thế này:

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 

$("#userpanel").on('pagebeforeshow', function(){ 

}); 

$("#userpanel").on('pageshow', function(){ 

}); 
+1

Có cách nào để thêm kịch bản đó sẽ chỉ chạy ở tải thực tế của các tập tin .html, nhưng không phải khi tôi đang chuyển đổi giữa trang bên trong tệp? –

+1

Logic là như nhau, chỉ cần cung cấp cho họ một id, chỉ có điều khác nhau là họ phải được nạp/khởi tạo trong một tập tin HTML đầu tiên. – Gajotres

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