jQuery mobile iscroll view: невозможно правильно ввести текстовое поле
В моем приложении jquery mobile ios phonegap я использую iscroll. При использовании iscroll текстовые поля ведут себя странно (перемещаются вверх и вниз при вводе каждого символа).
Я включил iscroll в моем приложении,
Добавлены следующие скрипты:
<script src="js/iscroll.js"></script>
<script src="js/jquery.mobile.iscrollview.js"></script>
Моя страница выглядит так,
<div data-role="page" id="index">
<div data-theme="a" data-role="header" data-position="fixed" data-id="footer" data-tap-toggle="false" data-transition="none">
</div>
<div data-role="content" data-iscroll>
// following text field works weirdly
<input id="txtComment" placeholder="COMMENTS" value="" type="text" data-theme="b"/>
</div>
<div data-role="navbar" data-position="fixed" data-theme="a" data-id="footer" data-tap-toggle="false" data-transition="none">
</div>
</div>
Я попытался добавить следующий код, но не сработало
var selectField = document.getElementById('txtComment');
selectField.addEventListener('touchstart', function(e) {
e.stopPropagation();
}, false);
Как я могу это исправить?
Пожалуйста помоги.
3 ответа
Используйте эту функцию с iscroll, вы можете ввести в поля формы.....
<script type="text/javascript">
var myScroll;
function loaded() {
myScroll = new iScroll('wrapper', {
useTransform: false,
onBeforeScrollStart: function (e) {
var target = e.target;
while (target.nodeType != 1) target = target.parentNode;
if (target.tagName != 'SELECT' && target.tagName != 'INPUT' && target.tagName != 'TEXTAREA')
e.preventDefault();
}
});
}
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', loaded, false);
</script>
Та же проблема, что и для меня. Просто обновите свой свиток, используя
setTimeout(function ()
{
myScroll.refresh();
}, 1000);
добавив обновление в нужное место, вы можете преодолеть эту проблему. Я просмотрел много веб-сайтов и много пробовал.
если это не работает, то проблема с мобильной версией (android, ios), потому что скролл де не поддерживает. надеюсь, это поможет вам.
Пытаться:
в активности манифеста Android: android:windowSoftInputMode = "AdjustNothing"