Javascript 如果是移动设备,则更改输入类型值

Javascript 如果是移动设备,则更改输入类型值,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,伙计们,我正在使用jQueryUI库来选择日期和时间。 所有操作都在PC上进行,但我想将输入类型从文本更改为日期或时间 当我在移动设备上测试时,我希望移动设备使用默认的日期时间选择器(滚动器) 默认情况下,我只使用简单的代码来显示对话框 $('.datepicker').datepicker(); $('.timepicker').timepicker(); 那么,是否有可能检查它是否是移动设备?如果是,则将类型更改为日期或时间 我尝试创建一个功能,它可以检测用户是否连接到移动设备,但它不起作

伙计们,我正在使用jQueryUI库来选择日期和时间。 所有操作都在PC上进行,但我想将
输入类型
文本
更改为
日期
时间

当我在移动设备上测试时,我希望移动设备使用默认的日期时间选择器(滚动器)

默认情况下,我只使用简单的代码来显示对话框

$('.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。