【问题标题】:Why can't I click input?为什么我不能点击输入?
【发布时间】:2012-03-01 21:11:56
【问题描述】:

我正在使用 iScroll4 插件 (http://cubiq.org/iscroll-4/) 将滚动条添加到长度超过浏览器视口高度 80% 的页面。由于某种原因(并且仅在这种情况下)我添加它并尝试单击输入时,它不会选择。只有点击它的标签才会选择输入。

我可以做些什么来获得 iScroll4 和可选择的输入?

【问题讨论】:

  • 奇怪的是,右键单击 input 元素会将焦点移至该元素(即使您关闭上下文菜单),但不会单击。
  • 是的,它适用于右键单击和标签单击,但对我来说也不能左键单击:)
  • 这可能与您的标记有关。您不应该在标签标签内嵌套输入。标记是动态的吗?也许您应该考虑减少嵌套标签的数量。

标签: javascript jquery select input iscroll


【解决方案1】:

我使用的是 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:/.*/ }
}

【讨论】:

    【解决方案2】:
    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);
    

    【讨论】:

      【解决方案3】:
      $('input[type=text]').bind('touchstart click', function(){
          $(this).focus();
      });
      

      【讨论】:

      • 像大多数简单的解决方案一样,这个最适合我。
      【解决方案4】:

      试试这个解决方案

         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();
              }
         }
      

      【讨论】:

      • 谢谢!像魅力一样工作!
      • 呜呜呜呜! +1 谢谢@darryn.ten 我不想问你这个问题,你能简要解释一下为什么会这样吗:-/如果你有时间的话。再次感谢!
      猜你喜欢
      • 2016-07-31
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多