用ng-click或jquery检测平板电脑上的长点击

Detect long click on tablet with ng-click or jquery

本文关键字:平板电脑 ng-click jquery 检测      更新时间:2023-09-26

嗨,我有下面的div:

angular.module("myApp", ['ngTouch']).controller("myController", function($scope) {
  $scope.longClick = function() {
    console.log('I was clicked long');
  }
});
.longClick {
  width: 200px;
  height: 20px;
  line-height: 20px;
  color: white;
  font-family: Arial;
  background-color: grey;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-touch.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myController" class="longClick" ng-click="longClick()">Click me long...</div>

我想在平板电脑上检测一下,当长按div并在控制台中打印文本时。我为这些问题找到了一些答案,但我所尝试的一切都不起作用。有什么想法吗?谢谢

我给你写了这段代码,它应该能完成任务。我基本上是用鼠标放下和鼠标抬起的时间来比较它们的

var start;
$(window).mousedown(function(e) {
  start = new Date().getTime();
  
}).mouseup(function(e) {
  var end = new Date().getTime();
  var timeDiff = (end-start)/1000; 
  $('p').text(timeDiff + " seconds");
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div>
  Click the result area
</div>
<p></p>