Ipad +如何防止键盘在jquery datepicker上弹出

时间:2012-05-08 02:30:55

标签: jquery ipad jquery-ui-datepicker

我想从我的Ipad中禁用键盘弹出窗口,所以我做了类似的事情,但这不是我的愿望。

我有一个文本框:

<h:inputText id="txtDate" value="#{myDateController.selected.DOB}"

我尝试使用“readonly”属性,但数据无法保存到数据库。 我也使用这个:$(“#frmEdit \:txtDate”)。attr(“disabled”,true) - &gt;但是没关系

我在网上搜索并使用此链接应用了我的代码,但它也不行:ipad web application: How do I prevent the keyboard from popping up on jquery datepicker

$(function() {
  //$("#frmEdit\\:txtDate").attr("disabled", true)
    $("#frmEdit\\:txtDate").datetimepicker({
     // showOn: "button"
        showOn: "both",   
        buttonImage: "../images/calendar.png",
        buttonImageOnly: true,
        constrainInput: true,
        showButtonPanel: true,         
        dateFormat: 'dd-M-yy',
        addSliderAccess: true,
        sliderAccessArgs: { touchonly: false },
    onClose: function(dateText, inst){ 
        $(this).attr("disabled", false);
    },
    beforeShow: function(input, inst){
        $(this).attr("disabled", false);
    }
});
});

我的代码出了什么问题?或任何其他解决方案吗? 非常感谢

4 个答案:

答案 0 :(得分:11)

HTML中有一个选项让你做这件事:

readonly="true"

将此添加到输入字段元素。它会对输入字段进行“禁用”,但在完成某些操作时仍会触发事件(例如点击它)。


查看W3Schools Readonly Attribute了解详情。

答案 1 :(得分:2)

这就是我设法解决这个问题的方法,让浏览器认为用户模糊了输入,以便在有时间显示之前隐藏键盘:

$('blabla')
    .datepicker(
    {
        /* options */
    })
    .on('focus',function()
    {
        $(this).trigger('blur');
    });

对我来说效果很好,我找到的许多其他解决方案都没有!

答案 2 :(得分:0)

您是否尝试过使用HTML禁用输入字段(因此添加disabled="disabled")?

答案 3 :(得分:0)

正确答案往往是最简单的答案。

readonly="true"

解决方案