Мобильный всплывающий виджет jquery не перемещается при активной клавиатуре устройства (Android)
У меня есть приложение jquery-mobile (1.3.1) + phonegap, в котором я использую всплывающий виджет (это приложение для Android-любой версии). Это всплывающее окно предназначено для входа в систему (в нем есть имя пользователя, пароль и кнопка "Войти". Всякий раз, когда я нажимаю на текстовое поле (имя пользователя или пароль), появляется клавиатура устройства, но она совпадает с всплывающим. из-за этого совпадения пользователи не могут видеть то, что они печатают, и не могут щелкнуть Вход, если клавиатура не свернута. Вот код, который у меня есть сейчас - я уже использовал "data-position-to="window
"
<a href="#popupLogin" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="check" data-theme="a" data-transition="pop">Done</a>
<div data-role="popup" id="popupMenu" data-theme="a" >
<div data-role="popup" id="popupLogin" data-overlay-theme="e" data-theme="a" class="ui-corner-all">
<form>
<div style="padding:10px 20px;" data-overlay-theme="b">
<h3>Please sign in</h3>
<label for="ppcOpremarks" class="ui-hidden-accessible">Remarks</label>
<textarea name="ppcOpremarks" id="ppcOpremarks" value="" placeholder="Remarks (if any)" data-theme="a" ></textarea>
<label for="un" class="ui-hidden-accessible">Username</label>
<input name="user" id="un" value="" placeholder="username" data-theme="a" type="text">
<label for="pw" class="ui-hidden-accessible">Password</label>
<input name="pass" id="pw" value="" placeholder="password" data-theme="a" type="password">
<a href="#menuPage">
<button type="submit" data-theme="a" data-icon="check" id="ppCheckDone" onClick="updateppc()">Sign-In</button>
</a> </div>
</form>
</div>
</div>
Как заставить мое всплывающее окно двигаться вверх, а не перекрывать клавиатуру устройства?
1 ответ
Вы можете reposition
всплывающее окно, когда поле ввода фокусируется внутри него.
$("#popupLogin input, #popupLogin textarea").on("focus", function () {
$("#popupLogin").popup("reposition", {
y: 0 /* move it to top */
});
});