例如,如果我有
<input type="text" id="myid">
我正在使用ipad,当我专注于此输入时,ipad会自动显示键盘。有没有办法避免这种情况? 感谢
答案 0 :(得分:12)
是的,只需将元素设为只读
即可<input type="text" id="myid" readonly="readonly" />
请注意,这不适用于该元素。我相信这可能是一个错误。
答案 1 :(得分:3)
我找到的最佳解决方案是在textarea上放置一个不可见的div。这可以防止textarea接收触摸事件,这可以防止键盘出现。在div上捕获事件,如果你想在其上进行textarea可编辑的调用.focus(),那就会弹出键盘。
使用event.preventDefault不能很好地工作。当键盘出现时,它会使屏幕“跳”,然后立即消失。
答案 2 :(得分:2)
不要让焦点转到那个领域。使用事件处理程序来防止默认行为。 事件处理程序看起来像这样:
function onFocus(e) {
e.preventDefault();
// you could change the color of the field to indicate this is the active field.
}
您的表格处理代码可以填充此字段,而浏览器无需关注它。