Javascript 如果是移动设备,则更改输入类型值
伙计们,我正在使用jQueryUI库来选择日期和时间。 所有操作都在PC上进行,但我想将Javascript 如果是移动设备,则更改输入类型值,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,伙计们,我正在使用jQueryUI库来选择日期和时间。 所有操作都在PC上进行,但我想将输入类型从文本更改为日期或时间 当我在移动设备上测试时,我希望移动设备使用默认的日期时间选择器(滚动器) 默认情况下,我只使用简单的代码来显示对话框 $('.datepicker').datepicker(); $('.timepicker').timepicker(); 那么,是否有可能检查它是否是移动设备?如果是,则将类型更改为日期或时间 我尝试创建一个功能,它可以检测用户是否连接到移动设备,但它不起作
输入类型
从文本
更改为日期
或时间
当我在移动设备上测试时,我希望移动设备使用默认的日期时间选择器(滚动器)
默认情况下,我只使用简单的代码来显示对话框
$('.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>
(功能(){
变量日期=$(“.datepicker”);
变量时间=$(“.timepicker”);
var isTouchDevice='ontouchstart'在document.documentElement中;
如果(iStouch设备){
日期。属性(“类型”、“日期”);
属性(“类型”、“时间”);
}否则{
日期属性(“类型”、“文本”);
$('.datepicker').datepicker();
$('.timepicker').timepicker();
}
})();
您可以检查以下所有触摸设备:
var isTouchDevice = 'ontouchstart' in document.documentElement;
if ( isTouchDevice ) {
// do mobile handling
var date = $('.datepicker');
date.attr('type','date');
} else {
// do default handling
}
在某个时候,你会给我和ansver发布新的更新。。检查一下。。。我尝试了这一步,并且我的更新,输入类型没有再次更改它的
type=text
使用jQuery$('.datepicker')选择器尝试我的更新答案。问题是,您试图通过id“datepicker”获取“datepicker”,但“datepicker”是一个类而不是id。句号(.)表示类,磅号(#)表示id。此外,如果您可以转到并创建一个问题的示例,其他人也会更容易从中学习。此外,声明isMobile()函数有点多余,因为我声明的变量(isTouchDevice)在移动设备上已经返回true,在非移动设备上返回false。