我遇到的问题是.focus()没有拉出移动日期选择器,因为我的输入类型是'date'。
因此我试图在输入框上触发(“点击”),但这也不起作用。
重申一下,在我的桌面上它工作正常,盒子集中,但在手机(移动游猎)上,盒子是焦点但是没有日期选择器显示。此datepicker / spinner是移动浏览器AFAIK中的默认html5。
<form id="mobileAgeGate" onsubmit="return false;">
<input id="mobileDate" type="text" onfocus="this.type='date'" onblur="this.type='text'" name="date" min="1900-01-01" class="date-mobile" placeholder="mm/dd/yyyy" pattern="(?:0?2[/.-](?:[12][0-9]|0?[1-9])|(?:0?[469]|11)[/.-](?:30|[12][0-9]|0?[1-9])|(?:0?[13578]|1[02])[/.-](?:3[01]|[12][0-9]|0?[1-9]))[/.-][0-9]{4}">
</form>
js,文档里面正常准备好了:
if ($('#mobileDate').length) {
setTimeout(function() {
// $('#mobileDate').focus(); // This one works (but no mobile spinner pops up)
// $('input[name="date"]').focus(); // This one works (but no mobile spinner pops up)
$('#mobileDate').css('background-color', 'gray'); // to test something is indeed happening; ok
$('input[name="date"]').trigger('click tap mouseover'); // This doesn't even focus
}, 3000);
}
计时器对于这个问题并不是很重要,但它会等待一段时间(如果我可以让它工作),弹出的是datepinner。
非常感谢您的帮助或想法! - 克里斯