2017-02-15 16 views
13

trong dự án của chúng tôi, chúng tôi đang sử dụng các jquery-mobile popup dialogNgăn chặn jquery-mobile cửa sổ bật lên lại vị trí cho điện thoại Huawei sau khi văn bản được nhập vào một yếu tố đầu vào

Khi hộp thoại được hiển thị, lần đầu tiên tôi cố gắng để điền vào các văn bản trên của tôi điện thoại (Huawei P9 lite, Android 6.0.0, Chrome 55.0.2883.91), cửa sổ bật lên đóng và mở lại.

Tôi có thể sao chép vấn đề này ngay cả trên bản trình diễn Biểu mẫu bật lên.

Trên thiết bị hiển thị lớn hơn (5,7 inch so với 5 inch) với màn hình lớn hơn và gần như cùng một android (6.0.1, cùng một trình duyệt) điều này không xảy ra.

Dường như việc cửa sổ bật lên tự động định vị lại sau khi bàn phím xuất hiện. Có ai gặp phải vấn đề tương tự không? Làm sao bạn giải được nó?

<a href="#popupLogin" data-rel="popup" data-position-to="window" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-check ui-btn-icon-left ui-btn-a" data-transition="pop">Sign in</a> 
<div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all"> 
    <form> 
     <div style="padding:10px 20px;"> 
      <h3>Please sign in</h3> 
      <label for="un" class="ui-hidden-accessible">Username:</label> 
      <input type="text" name="user" id="un" value="" placeholder="username" data-theme="a"> 
      <label for="pw" class="ui-hidden-accessible">Password:</label> 
      <input type="password" name="pass" id="pw" value="" placeholder="password" data-theme="a"> 
      <button type="submit" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-btn-icon-left ui-icon-check">Sign in</button> 
     </div> 
    </form> 
</div> 
+0

sử dụng một trang với các dữ liệu-role = "thoại", như bạn có anyway dữ liệu vị trí-to = "cửa sổ" trong dự án của bạn – deblocker

+0

Cảm ơn rất nhiều, vì chúng tôi có một số tiền khá trong số này, tôi sẽ cố gắng tìm giải pháp thay thế nhanh thay vì làm lại tất cả các cửa sổ bật lên –

+0

@deblocker sẽ bị xóa trong phiên bản tiếp theo. – Omar

Trả lời

4

Câu trả lời dựa trên nhận xét của Omar. Khi tôi nhận xét các dòng mã sau, hành vi không xuất hiện (có thể mất một tính năng định vị lại tốt đẹp).

_handleWindowResize: function(/* theEvent */) { 
    if (this._isOpen && this._ignoreResizeTo === 0) { 
     if ((this._expectResizeEvent() || this._orientationchangeInProgress) && 
      !this._ui.container.hasClass("ui-popup-hidden")) { 
      // effectively rapid-close the popup while leaving the screen intact 
      // this._ui.container 
      // .addClass("ui-popup-hidden ui-popup-truncate") 
      // .removeAttr("style"); 
     } 
    } 
}, 
+2

bạn có thể thêm chức năng định vị lại thay cho mã nhận xét. – Omar

+2

@Omar: tôi đoán điều này đã được sửa cho 1.5, ít nhất là từ các thay đổi ở đây [jQuery Mobile 1.5.0-alpha1 Changelog] (http://jquerymobile.com/changelog/1.5.0-alpha1/) – deblocker

+0

Cảm ơn bạn đã chia sẻ @deblocker. Thật không may, nó chưa được phát hành. – Omar

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