当我必须设置占位符文本以输入[type =“date”]时,我遇到了问题。
我已经尝试了这个method,但在移动版Safari中这不起作用。
此处如果快JsFiddle DEMO
这里是代码的这一部分:
<form>
<input type="text" placeholder="some date" onfocus="(this.type='date')" onblur="(this.type='text')" />
</form>
有没有人想过如何处理这种情况?
答案 0 :(得分:0)
我有一个愚蠢的建议。我使用div来替换类型为text的输入。日期的真实输入是display:none; ios不支持这种情况,我尝试了很多方法来解决这个问题,但这并不重要。尝试以下方法,你不喜欢它。^ - ^
$(function(){
document.getElementById('div').addEventListener('click',function(e){
if(document.getElementById('input').style.display == 'none'){
document.getElementById('input').style.display = ''
}
},false)
document.getElementById('input').addEventListener('blur',function(e){
debugger;
document.getElementById('input').style.display = 'none'
document.getElementById('div').innerHTML = document.getElementById('input').value;
})
})
&#13;
<div id="div" style="height:47px;border:1px solid #000">
<input id="input" type="date" placeholder="some date" style="display:none;"/>
</div>
&#13;
<script type="text/javascript">
$(function(){
document.getElementById('div').addEventListener('click',function(e){
if(document.getElementById('input').style.display == 'none'){
document.getElementById('input').style.display = ''
}
},false)
document.getElementById('input').addEventListener('blur',function(e){
debugger;
document.getElementById('input').style.display = 'none'
document.getElementById('div').innerHTML = document.getElementById('input').value;
})
})
</script>