Angular Touch ngTouch导致触摸释放时发生咔嗒声.
有没有办法让点击发生在触摸开始?
下面的快速点击指令似乎在触摸屏上做我想要的,但它不适用于鼠标点击.
myApp.directive('fastClick',['$parse',function ($parse) { return function (scope,element,attr) { var fn = $parse(attr['fastClick']); var initX,initY,endX,endY; var elem = element; elem.bind('touchstart',function (event) { event.preventDefault(); initX = endX = event.touches[0].clientX; initY = endY = event.touches[0].clientY; scope.$apply(function () { fn(scope,{ $event: event }); }); }); }; } ]);
解决方法
添加click to touchstart事件 – event.preventDefault()将取消事件发生两次:
elem.bind('touchstart click',function (event) {
app.directive("ngMobileClick",[function () { return function (scope,elem,attrs) { elem.bind("touchstart click",function (e) { e.preventDefault(); e.stopPropagation(); scope.$apply(attrs["ngMobileClick"]); }); } }])
并使用如:ng-mobile-click =“myScopeFunction()”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。