具有禁用搜索功能的UI选择角度会弹出移动设备上的键盘

时间:2015-11-29 16:21:30

标签: angularjs twitter-bootstrap mobile ui-select angular-ui-select

我在bootstrap上使用select 2主题为angular。

默认情况下,它具有内置的“搜索”功能,可过滤选项行。 我不想要这一行,所以我在网上寻找解决方案。 常见的解决方案是使用ng-disabled,它适用于某些浏览器,但仍会在手机上弹出键盘。

我使用了此plunker中描述的'return false'方法: http://plnkr.co/edit/jE0qBpewzvHG5oamB7vQ?p=preview&s=TIKKc2Zmyq5lcvXI

然而,当我在移动设备上打开它时(Chrome上的lg g2)我有两个问题:

  1. 弹出键盘。

  2. 我可以输入(奇怪的是我不能输入英文但我可以输入希伯来语)

  3. pluker上描述的代码:

    <ui-select multiple ng-model="multipleDemo.colors" onkeypress="return false;" theme="select2" ng-disabled="disabled" style="width: 300px;">
    <ui-select-match placeholder="Select colors...">
      <span ng-if="!disabled">{{$item}}</span>
      <span ng-if="disabled">
        <a class="glyphicon glyphicon-remove" ng-click="$select.removeChoice($index)" tabindex="-1"></a>
        {{$item}}
      </span>
    </ui-select-match>
    <ui-select-choices repeat="color in availableColors | filter:$select.search">
      {{color}}
    </ui-select-choices>
    

    我不希望弹出键盘,我也不想让用户输入。

    这在原生Android浏览器上无法重现,只有Chrome。

1 个答案:

答案 0 :(得分:1)

最终我结合了几个解决方案 - 最有帮助的解决方案是 - html-mobile-forcing-the-soft-keyboard-to-hide

现在我的选择看起来像这样:

<ui-select 
 ng-model="multipleDemo.colors" 
 onkeypress="return false;" 
 theme="select2" 
 ng-disabled="disabled"
 onfocus="blur();" >
 .
 .
 </ui-select>