防止键盘在iPad webapps上弹出文本框焦点/单击

时间:2010-09-23 11:07:57

标签: javascript ipad keyboard

我正在尝试在iPad应用程序上创建自定义键盘。但每次输入获得焦点时,弹出原生iPad键盘。我怎样才能在JavaScript中阻止这种情况。

7 个答案:

答案 0 :(得分:13)

将属性“readonly”添加到您的输入中,并提供一种不同的填充值的方法。

答案 1 :(得分:1)

我认为你不能阻止键盘出现在输入字段上。但是,您可以创建一个html元素,它看起来就像一个带CSS的输入字段,并处理onClick事件以显示您的自定义键盘。

<style>
    .textField{
        width: 120px;
        height: 17px;
        border-style:inset;
        border-width: 2px;
        border-color: gray;
        float: left;
    }
</style>
<script>
    function showKeyboard(){
        alert("show the my cool keyboard");
    }
</script>

Name: <div onClick="showKeyboard()" class="textField"></div>

您应该结帐Sencha Touch以开发适用于iOS设备的网络应用程序。

答案 2 :(得分:1)

position absolute div在文本输入字段顶部加z-index:1,并将onclick处理程序附加到div启动键盘。

下一步是附加小键盘数字以影响文本字段的值。

答案 3 :(得分:1)

最好的办法是在onclick事件上停止活动 html:

<textarea onclick='myOnClickEvent'></textarea>

Javascript:

function myOnClickEvent(e){
e.stopPropagation();
}

道场:

function myOnClickEvent(e){
dojo.stopEvent(e);
}

Sencha:

function myOnClickEvent(e){
e.stopEvent();
}

我希望这有帮助。

答案 4 :(得分:0)

您应该检查safari sdk,移动版Safari / html5还有一些额外的输入类型。

否则,您可以将div / span设置为看起来像输入并具有隐藏的隐藏字段,然后单击它时调出自定义div等,并根据用户操作将值放入“输入”。 / p>

当然,您可以使用渐进增强功能进行渲染,并将其渲染为普通文本框,然后在页面加载时交换隐藏字段/ div / span等的普通文本输入

答案 5 :(得分:0)

仅供参考,您也可以在输入上调用blur()来隐藏键盘......虽然在这种情况下可能不是一个好的解决方案。

答案 6 :(得分:0)

我们遇到了完全相同的问题,因此我们使用了以下代码。

<input type="text" onclick="openAlphaNumKeyboard(this)" onfocus="blur()" id="test-input" />