2012-04-04 21 views
12

Tôi có một ứng dụng JQM với một trang cụ thể mà tôi không muốn tạo kiểu.Làm thế nào để ngăn chặn JQM tạo kiểu cho một trang?

Tất cả tôi đã tìm thấy cho đến nay là data-role='none' - nhưng tôi không muốn áp dụng điều đó cho mọi thành phần trên trang ... Có cách nào để tắt nếu chỉ cho một trang này không?

Trả lời

15

Bạn có thể sử dụng data-enhance="false" kết hợp với $.mobile.ignoreContentEnabled=true để ngăn chặn tính năng tự động nâng cao mà jQuery Mobile không để một pseudo-page:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" /> 
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script> 
$(document).on('mobileinit', function() { 
    $.mobile.ignoreContentEnabled = true; 
}); 
</script> 
<script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script> 

<div data-enhance="false" data-role="page"> 
    ... 
</div>​ 

Lý do bạn cần phải thay đổi cờ ignoreContentEnabled là bởi vì nó là CPU chuyên sâu để tìm kiếm các phần tử gốc cho số data-attribute, do đó, điều này được tắt theo mặc định.

Đây là một bản demo: http://jsfiddle.net/ZtJyL/1/

4

Như tôi đã chỉ ra here, bạn cũng có thể sử dụng chính thức, theme-less version of the CSS xây dựng đặc biệt để cho phép các thiết kế của một theme tùy chọn.

Theo kinh nghiệm của tôi, việc sử dụng các hacks như data-enhance="false"data-role="none" thường phá vỡ mọi thứ bằng CSS cấu trúc, không theo chủ đề.

Với phương pháp này bạn có thể giữ tất cả chức năng cơ bản của jQuery Mobile, bạn không phải chiến đấu với hack và ghi đè mọi lúc, và bạn nhận được CSS nhẹ hơn làm tiền thưởng.

+0

Cảm ơn bạn thân! – Skamielina

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