Подтвердить что ты не робот

Предотвращение переадресации jQuery-мобильных всплывающих окон для телефонов Huawei после ввода текста во входной элемент

в нашем проекте мы используем диалог jquery-mobile popup

Как только появится диалоговое окно, в первый раз, когда я пытаюсь заполнить текст на своем телефоне (Huawei P9 lite, Android 6.0.0, Chrome 55.0.2883.91), всплывающее окно закрывается и снова открывается.

Я могу повторить эту проблему даже в всплывающем всплывающем окне Form.

На смотрящем более крупном устройстве (5,7 дюйма против 5 дюймов) с большим экраном и почти тем же самым андроидом (6.0.1, тот же браузер) этого не происходит.

Кажется, это вызвано всплывающим всплывающим меню, автоматически переставляющим его после появления клавиатуры. Кто-нибудь сталкивался с подобной проблемой? Как это удалось решить?

<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>
4b9b3361

Ответ 1

Ответ основан на комментарии Омара. Как только я прокомментирую следующие строки кода, поведение не появляется (возможна потеря хорошей функции репозиционирования).

_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" );
        }
    }
},