html5弹出窗口(Html5页面上如何禁止手机虚拟键盘弹出)
html5弹出窗口
Html5页面上如何禁止手机虚拟键盘弹出工作中遇到如下需求,点击输入框弹出自定义弹窗,输入框是input标签:
但是在移动端,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()方法和页面加载。
它里面有很多方法,在浏览器控制台查看,可以看到有很都方法:
那么document.activeElement.blur()为什么可以阻止虚拟键盘弹出呢?原因是:当你点击input的时候,document.activeElement获得了DOM中被聚焦的元素,也就是你点击的input,而调用.blur()方法,blur我相信大家都知道吧,就是取消聚焦。获得被聚焦的元素然后强制blur以达到没有聚焦的样子、、、感觉绕了。
优点:支持Android、iOS
缺点:需要添加额外的JS代码
这句代码加在什么地方?加入有如下HTML
<li class="calendar"> <li> <input type="text" id="datePicker" class="date_picker" placeholder="点击选择入住日期"/> </li> </li>
那么这句JS加在事件处理方法中
$("#datePicker").focus(function(){ document.activeElement.blur(); });
总结
就当前需求来说,用document.activeElement.blur()确实是在绕弯子,直接使用readonly是最佳方案。但是document.activeElement很强大,可以做很多事。
到此这篇关于Html5页面上如何禁止手机虚拟键盘弹出的文章就介绍到这了,更多相关Html5手机键盘弹出内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
- html53d效果代码(HTML5 直播疯狂点赞动画实现代码 附源码)
- 用html5做一个音乐的播放器(HTML5自定义mp3播放器源码)
- html5 web技术(html5视频常用API接口的实战示例)
- html5input标签的默认属性(移动端HTML5 input常见问题小结)
- html5手机字体怎么设置(html5给汉字加拼音加进度条的实现代码)
- html5canvas动画(html5 canvas 实现光线沿不规则路径运动)
- HTMl5 sessionStorage和localStorage
- html5基础知识入门(萌新HTML5 入门指南二)
- html5 页面向上滑动(html5手机键盘弹出收起的处理)
- 微信html5页面怎么制作(HTML5中外部浏览器唤起微信分享功能的代码)
- html怎么设置地图(HTML5获取当前地理位置并在百度地图上展示的实例)
- html5关闭页面代码(HTML5页面无缝闪开的问题及解决方案)
- Html5新增的标签
- html5如何设置标签(HTML5中在title标题标签里设置小图标的方法)
- html5开发图片(HTML5开发动态音频图的实现)
- html5功能讲解(Html5定位终极解决方案)
- 中华第一楷 张瑞龄 86岁高龄,苦练楷书71年,一幅字卖593万(中华第一楷张瑞龄)
- 冯骥才 年意(冯骥才年意)
- ()
- 百事大吉蓝底 绿底手机高清壁纸(绿底手机高清壁纸)
- 蓝底证件照怎么制作 证件照换底色 换尺寸快速搞定(蓝底证件照怎么制作)
- 你喜欢足球吗 足球如何点亮世界的(足球如何点亮世界的)
热门推荐
- dedecms标签分类(Dedecms程序SEO常用的列表标签调用代码集合 dedecms优化)
- sql提交事务代码(SQL SERVER提交事务回滚机制)
- html5 布局设计(Html5导航栏吸顶方案原理与对比实现)
- 阿里云服务器攻击了怎么办(云服务器被攻击了补救措施)
- sqlcount优化(SQL优化教程之in与range查询)
- css3背景制作(纯CSS3实现Material Design效果)
- thinkphp5怎么设置默认返回(thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结)
- dedecms采集插件(dedecms 软件下载模块加入flashget快车下载代码)
- 云主机免费体验(免费云主机试用一年靠谱吗)
- 查看docker image版本(解决docker images 镜像消失的问题)