伙计们我使用jquery UI库来进行日期选择和时间选择器插件。
所有工作都在PC上,但我想将input type
从text
更改为date
或time
。
当我在移动设备上测试时,我希望移动设备使用默认的日期时间选择器(滚动条)。
默认情况下,我只使用简单的代码来显示对话框
$('.datepicker').datepicker();
$('.timepicker').timepicker();
那么可以检查它是否是移动设备?如果是,则将类型更改为日期或时间。
我尝试创建一个功能,可以检测用户是否与移动设备连接,但它无法正常工作
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
var date = document.getElementById('datepicker');
date.setAttribute('type','date');
}
但是当我检查它是否是移动时,此功能可以正常工作
function isMobile() { return ('ontouchstart' in document.documentElement); }
以下是完整的工作代码:
<script>
(function() {
var date = $(".datepicker");
var time = $(".timepicker");
var isTouchDevice = 'ontouchstart' in document.documentElement;
if ( isTouchDevice ) {
date.attr("type", "date");
time.attr("type", "time");
} else {
date.attr("type", "text");
$('.datepicker').datepicker();
$('.timepicker').timepicker();
}
})();
</script>
答案 0 :(得分:2)
您可以检查所有类似的触控设备:
var isTouchDevice = 'ontouchstart' in document.documentElement;
if ( isTouchDevice ) {
// do mobile handling
var date = $('.datepicker');
date.attr('type','date');
} else {
// do default handling
}