div 模拟 input

关于输入框有俩个点的要求
 1.进入这个页面 自动获取焦点
 2.(涉及到扫描)只想获取焦点,但不弹出软键盘

第一点:实现简单 直接focus即可
     但是;也会存在问题:当页面进来了执行获取焦点,但是js代码还会有其他的回调啥的,会阻止了这个键盘的弹出。常用的解决方法。用延迟函数 处理获取焦点 

setTimeout

第二点:很费劲,到目前为止,没找到合适的方法。
查阅各种资料,总结以下知识

1.网上说的【e.preventDefault(),】及给【input加上readonly属性 】【 在click事件触发后触发blur事件 】【

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

】之类的。。。。这些都让input 处于不可编辑状态 了 。

2.如果借助appcan打包,appcan有个方法,可以手动关闭软键盘。问题是 每次点击输入框,先弹出来软键盘,在接着关闭了软键盘!不友好

3.重点:网站上很多用div模拟input 

用到了H5的全局属性contenteditable,但是div它是不支持placeholder属性的。那怎么在div内容为空的时候显示一个默认文字呢?

上代码:

<div class="input" contenteditable placeholder="请输入文字"></div>
.input{  
            width:200px;  
            height:24px;  
            line-height:24px;  
            font-size:14px;  
            padding:5px 8px;  
            border:1px solid #ddd;  
        }  
        .input:empty::before {  
            content: attr(placeholder);  
        }   

给div加个属性contentEditable="true"就可以做编辑

暴露的问题,contentEditable还是很陌生。反应出对对h5 具体的东西了解的不深

 

333

 

转载于:https://www.cnblogs.com/lovelgx/articles/7569765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值