Почему я не могу нажать кнопку ввода? - PullRequest
5 голосов
/ 09 февраля 2012

Я использую плагин iScroll4 (http://cubiq.org/iscroll-4/) для добавления полосы прокрутки к страницам, длина которых превышает 80% высоты области просмотра браузера. По какой-то причине, когда (и только в этом случае) я добавляю его и пытаюсь чтобы щелкнуть по входу, он не будет выбран. Только щелчок по его метке выберет ввод.

Что я могу сделать, чтобы иметь iScroll4 и выбрать вход?

Ответы [ 4 ]

12 голосов
/ 23 февраля 2012

Попробуйте это решение

   myScroll = new iScroll('wrapper', {});

   myScroll.options.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();
        }
   }
5 голосов
/ 04 июня 2013
$('input[type=text]').bind('touchstart click', function(){
    $(this).focus();
});
0 голосов
/ 22 мая 2015

Я использую версию 5.1.2, и она сработала.

 window.myScroll = new IScroll ('#iscroll-wrapper',
    probeType:  3,
    mouseWheel: true,
    scrollbars: true,
    bounce: true,
    keyBindings: true,
    invertWheelDirection: false,
    momentum: true,
    fadeScrollbars: false,
    interactiveScrollbars: true,
    resizeScrollbars: true,
    shrinkScrollbars: false,
    click: false,
    preventDefaultException: { tagName:/.*/ }
}
0 голосов
/ 03 июля 2014
var myScroll;
function loaded() {
    myScroll = new iScroll('wrapper', { scrollbarClass: 'myScrollbar' });

   myScroll.options.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);
...