javascript - 手机网页,如何让输入框被点击获取焦点时,不调用输入法?
ringa_lee
ringa_lee 2017-04-11 11:08:23
[JavaScript讨论组]

问题的需求背景是:
手机网页有个输入框,只允许输入数字。
最早尝试采用:

<input type="number"/>

<input type="tel"/>

虽满足调起数字键盘的需求,但是由于兼容问题被舍弃。
现在想通过自己做一套html布局,模拟数字键盘的布局和交互,同时输入框还能获取焦点和移动焦点,只不过没有调起输入法,而是弹出一套模拟数字键盘,通过点击模拟数字键盘上的数字和按钮操作,实现输入。
现在遇到的问题是:
点击输入框获取焦点时,输入法会自动调起,怎么办?怎么屏蔽掉?

ringa_lee
ringa_lee

ringa_lee

全部回复(4)
PHPz

假如说用的zepto,$('#input').on('focus', function(event){

你为输入框focus定义的一些行为.balabala...
event.preventDefault();

}); 这样不行嘛

PHP中文网

因为你是input标签,必然会调起输入法的,我有个解决的办法,就是做一个假的输入框,比如用span标签,有一点缺陷的就是没有光标。

天蓬老师

focus事件里,
移除掉焦点,这样系统键盘应该就没了,
然后再弹出你的键盘,反正你的键盘上点击数字是直接用代码给input赋值的无所谓


只是我的猜想啦,我没做过。

迷茫

用js给表单绑定focus的响应事件,然后在事件处理函数当中,添加

event.preventDefault();

禁用表单默认的focus响应事件试试。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号