iscroll не работает должным образом для динамической формы в phonegap

Я разработал приложение Android phonegap. У меня есть добавленная динамическая форма, содержащая «ввод» и «выбор» в div. Мне нужно получить полосу прокрутки для этого div. Поэтому я использовал iScroll.js, но он не работает должным образом. текстовое поле внезапно исчезает с полосой прокрутки. Эта проблема возникает часто.

Вот мой код:

function loaded() 
{
    var myScroll = new iScroll('wrapper', 
    {
        scrollbarClass: 'myScrollbar',
        useTransform: false,
        vScroll: true,
        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);

Пожалуйста, помогите мне. Заранее спасибо


person javadevelopers    schedule 27.08.2012    source источник


Ответы (1)


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

также после того, как ваш контент загрузился, вызовите myScroll.refresh() и установите для него задержку не менее 1 мс. маленький хак, который имеет большое значение.

person Drew Dahlman    schedule 27.08.2012
comment
Спасибо, Дальман. Я объявил myscroll вне загруженной функции и уже использовал myScroll.refresh(), но он не работает. Как установить задержку в 1 мс для обновления. Будет ли он обновляться непрерывно в течение 1 мс. - person javadevelopers; 28.08.2012
comment
setTimeout (функция () { myScroll.refresh ();}, 1000); - person Vaishali Modi; 18.08.2014
comment
на самом деле - setTimeout(function(){ myScroll.refresh();},1); сделает свое дело - person Drew Dahlman; 18.08.2014