javascript / select2:单击select时键盘显示

时间:2013-09-27 20:26:38

标签: javascript ios jquery-select2

我正在使用select2,我或多或少地使用它:

<select id="e1">

    <option value="AL">Alabama</option>

    <option value="WY">Wyoming</option>

    ....

</select>

和代码

$('#e1').select2({ minimumResultsForSearch: -1 }) ;

将该选项设置为-1时,它不显示搜索框,但在iPad / iPhone上显示键盘。有什么方法可以防止键盘出现吗?

3 个答案:

答案 0 :(得分:3)

使用jQuery,将其添加到select2

的容器中

$(“。someSelect2Container input”)。prop(“readonly”,true);

答案 1 :(得分:1)

我为iOS解决了这个问题:

 $(document).ready(function() { $("select").select2(
            .on("select2-selecting", function(e) {
                setTimeout(function() {
                    document.activeElement.blur();
                }, 500);
            }); 
         });

答案 2 :(得分:0)

对于将来搜索的人,如果您希望保留搜索功能但停止键盘自动弹出并占用移动设备上的屏幕空间...以下对我有效(可能更快) /更容易的方法,但我很快就做了测试,它工作,我很兴奋,我不得不在这里发布):

    window.select2typing = false;
    $(document).on("focus",".select2-search__field",function(){
        if(window.select2typing == false){
            $(this).blur();
        }
    });

    $(document).on("click",".select2-search__field",function(){
        window.select2typing = true;
        $(this).focus();
    });

    $("select").on("select2:close",function(){
        window.select2typing = false;
    });

这将阻止键盘弹出,阻止它自动对焦select2搜索字段,一旦他们点击/点击搜索字段,它就会给他们开始输入的选项。