2012-09-26 31 views
13

Trên các menu cho trang web của chúng tôi, chúng tôi có một nút thả xuống cho các tùy chọn tài khoản người dùng thay đổi động dựa trên tên người dùng và trạng thái đăng nhập của họ. Nó hoạt động tốt trong các trình duyệt, tuy nhiên, trên máy tính bảng Android (sử dụng Firefox), chúng tôi dường như không bấm vào bất kỳ liên kết nào trong danh sách thả xuống, mặc dù các liên kết DO xuất hiện, bất cứ khi nào bạn nhấp vào chúng, thì trình đơn thả xuống sẽ biến mất và không có gì xảy ra.Twitter Bootstrap Dropdowns Unclickable On Tablets

Tôi đang sử dụng phiên bản mới nhất của Bootstrap (2.1.1), với dropdown plugin. Nó hoạt động trên máy tính để bàn và có thể nhấp được bằng máy tính bảng, các liên kết chỉ đóng cửa sổ bật lên khi được nhấp.

Dưới đây là các mã:

 <div class="btn-group pull-right"> 
     <a class="btn dropdown-toggle" data-toggle="dropdown" href="#"> 
      <i class="icon-user"></i> <?php echo $_SESSION['username']; ?> 
      <span class="caret"></span> 
     </a> 
     <ul class="dropdown-menu"> 
      <li><a href="/Profile">Profile</a></li> 
      <li class="divider"></li> 
      <li><a href="#" onClick="logOut();">Sign Out</a></li> 
     </ul> 
     </div> 

Có ai biết một cách để làm cho các liên kết có thể click từ tablet?

+0

Tôi đang gặp sự cố tương tự, bạn có tìm thấy giải pháp không? – Niels

+0

Tôi chưa bắt đầu, tôi chỉ bắt đầu tạo liên kết riêng biệt từ các liên kết thả xuống ở các vị trí khác trên trang web, do đó, đó là giải pháp thay thế, không phải là giải pháp. – Ecksters

Trả lời

12

Đây là một lỗi trong Bootstrap mà hy vọng sẽ được sửa chữa trong 2.1.2 - trong khi chờ đợi, có hai vấn đề phổ biến (#2975 & #4550) trên GitHub có chứa các bản sửa lỗi tạm thời.

sửa chữa jQuery Điều này dường như làm việc cho hầu hết mọi người và không sửa đổi mã nguồn Bootstrap:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }); 
+0

Chỉ cần tò mò, bạn có nghĩ rằng một cái gì đó như thế này sẽ làm việc trên một lightbox đó là unclickable (nhưng không nên được) trên điện thoại di động quá? – akhaku

+0

Điều gì đó tương tự có thể hoạt động (bản sửa lỗi này dành riêng cho trình đơn thả xuống trên Bootstrap), nhưng thật khó để nói mà không thấy một số mã. Bạn đang sử dụng plugin nào? – Sara

+0

Chúng tôi đã tự cuộn của mình - dù sao, tôi sẽ không chiếm đoạt chủ đề này, tôi sẽ đăng câu hỏi của riêng mình nếu tôi không thể tìm ra. – akhaku

2

Để khắc phục các menu con quá:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }) 
     .on('touchstart.dropdown', '.dropdown-submenu', function (e) { e.stopPropagation(); }); 
0

này được confrmed cố định trong v2.2 và lớn hơn.