我正在使用AngularJS,我目前同时具有悬停行为(使用ng-mouseenter和ng-mouseleave),因此当您将鼠标悬停在我的内容元素上时,它会在页面上显示内容,但如果您点击该元素(使用ng-click)应该进入该元素的详细信息页面。
我在同一个<div>
上配置了所有这些,并且它可以在桌面上运行。但是如果我使用我的iPhone,那么当我点击该元素时,它会触发悬停操作而不是点击操作。只需点击一下即可进入点击操作,我希望它能够在第一次点击移动设备时触发。
我怎样才能做到这一点?
感谢您提供的任何帮助。
答案 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')