加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Html5页面上如何禁止手机虚拟键盘弹出

发布时间:2020-03-28 23:32:31 所属栏目:编程 来源:站长网
导读:事变中碰着如下需求,点击输入框弹出自界说弹窗,输入框是input标签: 可是在移动端,input会默认触发手机的假造键盘,怎样阻止手机假造键盘弹起呢?今朝我试过有两个方案,一个是给input添加readonly属性,另一个就是在input变乱处理赏罚要领前面添加一句docum

事变中碰着如下需求,点击输入框弹出自界说弹窗,输入框是input标签:

Html5页面上怎样榨取手机假造键盘弹出

可是在移动端,input会默认触发手机的假造键盘,怎样阻止手机假造键盘弹起呢?今朝我试过有两个方案,一个是给input添加readonly属性,另一个就是在input变乱处理赏罚要领前面添加一句document.activeElement.blur() 。

readonly

行使readonly方法来阻止假造键盘弹出应该是最简朴最优雅的方法了。readonly 属性划定输入字段为只读。只读字段是不能修改的。不外,用户如故可以行使 tab 键切换到该字段,还可以选中或拷贝其文本。

值得一提的是它的取值,只要声明白readonly属性,不管取什么值都可以,好比readonly=""、readonly="readonly"、readonly="abc"都是一样的

利益:简朴
弱点:在iOS的Safari中无效(未做更多环境测试)

document.activeElement.blur()

这是个什么玩意儿?document.activeElement是一个Web API接口。MDN上的表明是:它返回当前页面中得到核心的元素,也就是说,假云云时用户按下了键盘上某个键,会在该元素上触发键盘变乱,该属性是只读的。

document.activeElement属性始终会引用DOM中当前得到了核心的元素。元素得到核心的方法有效户输入(凡是是按Tab键)、在代码中挪用focus()要领和页面加载。

它内里有许多要领,在赏识器节制台查察,可以看到有很都要领:

Html5页面上怎样榨取手机假造键盘弹出

那么document.activeElement.blur()为什么可以阻止假造键盘弹出呢?缘故起因是:当你点击input的时辰,document.activeElement得到了DOM中被聚焦的元素,也就是你点击的input,而挪用.blur()要领,blur我信托各人都知道吧,就是打消聚焦。得到被聚焦的元素然后逼迫blur以到达没有聚焦的样子、、、感受绕了。

利益:支持Android、iOS
弱点:必要添加特另外JS代码

这句代码加在什么处所?插手有如下HTML

<div class="calendar"> <div> <input type="text" id="datePicker" class="date_picker" placeholder="点击选择入住日期"/> </div> </div>

那么这句JS加在变乱处理赏罚要领中

$("#datePicker").focus(function(){ document.activeElement.blur(); });

总结

就当前需求来说,用document.activeElement.blur()确实是在绕弯子,直接行使readonly是最佳方案。可是document.activeElement很强盛,可以做许多事。

到此这篇关于Html5页面上怎样榨取手机假造键盘弹出的文章就先容到这了,更多相干Html5手机键盘弹出内容请搜刮剧本之家早年的文章或继承赏识下面的相干文章,但愿各人往后多多支持剧本之家!

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读