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

Change input type value if is mobile device

本文关键字:输入 类型 移动 如果      更新时间:2023-09-26

伙计们,我正在使用jquery UI库进行日期选择和时间选择器插件。所有工作都在 PC 上工作,但我想将input typetext 更改为 datetime .

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

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

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

您可以像这样检查所有触摸设备:

var isTouchDevice = 'ontouchstart' in document.documentElement;
if ( isTouchDevice ) {
  // do mobile handling
  var date = $('.datepicker');
  date.attr('type','date');
} else {
  // do default handling
}