有没有办法迫使iPad上的键盘关闭div''contenteditable'的模糊?
这是一个基本的jsfiddle:http://jsfiddle.net/j_tufte/7HDmN/
当用户点击按钮时,我想关闭键盘。
任何想法都非常感激。
感谢。
答案 0 :(得分:8)
正如您在评论中提到的,element.blur()
遗憾的是,它不适用于可编辑的div。但您可以将焦点移动到实际输入字段并立即将其删除:
$('#otherBox').on('click', function(){
$('#orInput').focus().blur();
});
(这使用你的jsFiddle HTML代码)。
此方法存在缺点:您需要另一个输入字段(无法设置为display: hidden
或visibility: hidden
,但您可以将其大小设置为0和opacity: 0
) 。此外,当调用上述处理程序时,视图可以滚动到此输入字段的位置。因此,您需要将第二个输入字段放在可编辑div的下一个或后面。
您还需要处理上一个/下一个按钮未定位的输入字段:将其设置为禁用。
<input id="orInput" disabled="disabled" style="width:0; height:0; opacity:0" type="text" />
对于聚焦/模糊,您需要启用该字段:
$('#otherBox').on('click', function(){
$('#orInput').removeAttr("disabled")
.focus().blur().attr("disabled", "disabled");
});
然而,这绝对是一种解决方法。我还没有找到任何其他解决方案(例如删除contenteditable
属性不起作用)但我非常希望听到其他想法。
答案 1 :(得分:0)
您应该能够做到这一点 - 将事件监听器附加到按钮并使用它来blur()
导致键盘弹出的输入字段(使用JavaScript获取该元素的句柄,然后调用这是blur
方法。据说可以关闭iPad键盘。