AngularJS - 如何不在移动设备上触发悬停操作(ng-mouseenter),仅触发cilck事件

时间:2016-09-30 14:16:10

标签: javascript angularjs

我正在使用AngularJS,我目前同时具有悬停行为(使用ng-mouseenter和ng-mouseleave),因此当您将鼠标悬停在我的内容元素上时,它会在页面上显示内容,但如果您点击该元素(使用ng-click)应该进入该元素的详细信息页面。

我在同一个<div>上配置了所有这些,并且它可以在桌面上运行。但是如果我使用我的iPhone,那么当我点击该元素时,它会触发悬停操作而不是点击操作。只需点击一下即可进入点击操作,我希望它能够在第一次点击移动设备时触发。

我怎样才能做到这一点?

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

您应该模仿双击触控设备。您可以使用此指令:

angular.module('app').directive('touchDevicesClick', function() {
  return function(scope, elem) {
    var element = angular.element(elem);
    element.on('touchstart', function(e) {
      element.triggerHandler('click')
    });
  };
})

或者您可以使用$(elem).click()代替element.triggerHandler('click')