input日历类型placeholder移动端不起作用

pc端对h5input type=‘date’的兼容不高,好在插件多,而对于移动端来说,系统自带的date非常好用,而且功能强大,对前端来说可以去除好多不必要的代码及事件操控。

近期有用到过这个方便的输入框,发现手机上一进去时显示为一片空白,设置的placeholder不起作用,然后上网查了下,解决方案为css和js协同解决

css部分通过伪类解决

input[type=data]:before{
    content:attr(placeholder);
    color:#bbb  
}

js部分分装两个方法更好的达到体验效果

var COMMONJS={ 
//清除日历类型默认提示
    delDatePlaceholder:function(ele){
        ele.removeAttribute('placeholder');
    },
    //添加日历类型默认提示
    setDatePlaceholder:function(ele){
        if(!ele.value){ele.setAttribute('placeholder','请选择日期');}
    },
//初始化日历提示
initDatePlaceholder:function(){
$("input[type=date]").each(function(){
if(this.value){
this.removeAttribute('placeholder')
}
});
}
}

设置好了上面的接下来就是调用了

 <input type="date" onfocus="COMMONJS.delDatePlaceholder(this)" onblur="COMMONJS.setDatePlaceholder(this)">

这样就大工告成了。

posted @ 2017-02-28 16:35  t_evening  阅读(1764)  评论(0编辑  收藏  举报