eme*_*his 2 javascript android angularjs selectize.js
在Android上,当触摸选择器时,将出现键盘输入。我怀疑这是因为生成的输入的类型为“文本”。
如何防止这种情况发生?如果用户从下拉列表中进行选择,则出现键盘是没有意义的。
我正在将selectize实现为Angular模块angular-selectize,但是我与开发人员进行了检查,该问题并非特定于angular包装器。
这是我的代码:
<selectize ng-model="filters.min_bedrooms"
options="[
{title:'0', id:0},
{title:'1', id:1},
{title:'2', id:2},
]">
</selectize>
Run Code Online (Sandbox Code Playgroud)
生成以下标记:
<input type="text" autocomplete="off" tabindex="" style="width: 4px; opacity: 0; position: absolute; left: -10000px;">
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,我希望用户选择一个值而不输入任何新值,并且在iPad上点击下拉菜单时,键盘总是显示出来。我已经解决了这个问题:
$('#myDropDownId').selectize({
create: true,
sortField: 'date'
});
$(".selectize-input input").attr('readonly','readonly');
Run Code Online (Sandbox Code Playgroud)
基本上会发生什么,当您单击/点击下拉菜单时,输入将成为焦点,这就是显示键盘的地方。通过将readonly设置为false,输入将不再获得焦点。
我已经在Safari和Chrome的iPad Mini 2上进行了测试。
小智 5
这对我有用:
$(".selectize-input input").attr('readonly','readonly');
Run Code Online (Sandbox Code Playgroud)
还工作过:
$(".selectize-input input").prop('readonly','readonly');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2861 次 |
| 最近记录: |