0

如果您现在在 chrome 中从仿真模式启动,然后进入正常模式,控制台将显示“触摸”,我需要显示一个简单的屏幕。怎么做?

https://jsfiddle.net/dwfvb1hy/3/

function isTouchDevice() {
    if (isTouch) {
      console.log('touch');
    } else {
      console.log('simple screen');
    }
}
4

1 回答 1

0

无需重新加载页面的最佳方法 - 检查 userAgent:

var base = '.dropbtn';
$(base).each(function(){
  var component = $(this);
  var isTouch = 'ontouchstart' in window;
  var minWidth = (window.matchMedia('(min-width: 1023px)'));

  function isTouchDevice() {
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
      console.log('touch');
    } else {
      console.log('simple screen');
    }
  }
  
  isTouchDevice();

  $(window).on('resize', isTouchDevice);
});
.dropbtn {
  background-color: #4CAF50;
  color: white;
  padding: 16px;
  font-size: 16px;
  border: none;
  text-decoration: none;
  display: block;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {background-color: #ddd;}

.dropdown:hover .dropdown-content {display: block;}

.dropdown:hover .dropbtn {background-color: #3e8e41;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div class="dropdown">
  <a href="/" class="dropbtn">Dropdown</a>
  <div class="dropdown-content">
    <a href="https://ya.ru">Link 1</a>
    <a href="#">Link 2</a>
    <a href="#">Link 3</a>
  </div>
</div>

于 2019-02-20T08:59:40.073 回答