2011-09-02 29 views
20

Tôi có một hộp kiểm mà tôi muốn ẩn trên trang. rõ ràng nỗ lực đầu tiên của tôi là như sau:ngăn chặn di động jquery từ yếu tố tạo kiểu

<input type='checkbox' style='display:none' /> 

Tuy nhiên, tôi nhận thấy jquery mobile Automagically kết thúc tốt đẹp vào hộp kiểm trong một div trông như thế này:

<div class='ui-checkbox'> 
    <input type='checkbox' style='display:none;' /> 
</div> 

tôi sẽ giả định rằng có một số loại data- yếu tố có thể ngăn chặn kiểu dáng bổ sung này, nhưng không tìm thấy nó trong tài liệu hoặc ở nơi khác. Thật dễ dàng, đủ để ghi đè lên .ui-checkbox trong css để ẩn nó, nhưng sẽ thích một cách tiếp cận tiêu chuẩn di động jquery hơn. Có một điều như vậy tồn tại?

Trả lời

60

Thuộc tính có thể ngăn chặn phong cách là data-role="none"

<input type='checkbox' style='display:none' data-role="none" /> 

Xem Jquery doc: "Ngăn chặn tự động khởi tạo các yếu tố hình thức"

+1

đẹp và dễ dàng .. và vẫn còn là một giải pháp hợp lệ trong 2015, với phiên bản hiện tại (1.4.5). http://demos.jquerymobile.com/1.4.5/forms/#Preventingauto-initializationofformelements – gmo

7

Đối với người dùng trong tương lai.

Chỉ trong trường hợp bạn muốn vô hiệu hóa cho mọi thành phần biểu mẫu hoặc biểu mẫu của bạn đang tải động mà bạn không thể chỉnh sửa đánh dấu sử dụng tính năng này.

 $(document).on('pagebeforecreate', function(e) { 
      $("input, textarea, select", e.target).attr("data-role", "none"); 
     }); 
+7

và cho người dùng trong tương lai trong tương lai, hàm ['live()'] (http://api.jquery.com/live/) sẽ không được hỗ trợ cho chức năng ['on'] (http://api.jquery.com/on/), như của jQuery phiên bản 1.7 –

0

tôi có quá nhiều nơi để thay đổi đầu vào và thêm dữ liệu-role = "none" Các mã sau đây làm việc cho tôi:

<script> 
     $(document).bind('mobileinit',function(){ 
      $.mobile.page.prototype.options.keepNative = "select,input"; 
     });   
    </script> 
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 
Các vấn đề liên quan