javascript - 使用 ng-click 或 jquery 检测平板电脑上的长按

标签 javascript jquery html angularjs long-click

嗨,我有关注 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 时,然后打印控制台中的文本。我找到了这些问题的一些答案,但我尝试的一切都不起作用。有任何想法吗?谢谢。

最佳答案

我给你写了这段代码,它应该可以解决问题。 我基本上是拿 mousedown 的时间和 mouseup 的时间来比较它们

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>

关于javascript - 使用 ng-click 或 jquery 检测平板电脑上的长按,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497781/

相关文章:

javascript - 延迟加载 Flash 对象

Javascript 忽略所有文件而不是一个文件

javascript - 使用 appendChild 图像锚定的 FireFox 问题

javascript - 如何在调用 camera.getPicture 之前检查相机权限

javascript - ajax和tweenmax的结合

php - Jquery .load() 不返回 HTML(URL 中有 ""空格!)

javascript - 未捕获的 ReferenceError : functionis not defined error, 为什么?

php - 有什么方法可以强制浏览器记住用于点击后退按钮的表单字段?

javascript - 使用 jquery 在 for 循环中处理错误

javascript - 使用 Phantom.js 评估,如何获取页面的 HTML?