gpt4 book ai didi

AngularJS 点击 TouchStart

转载 作者:行者123 更新时间:2023-12-04 10:24:13 27 4
gpt4 key购买 nike

Angular 触控 ngTouch导致在触摸释放时发生点击。

有没有办法让点击发生在触摸开始?
fast-click下面的指令似乎可以在触摸屏上执行我想要的操作,但它不适用于鼠标点击。

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 }); });
});
};
}
]);

最佳答案

添加 clicktouchstart事件 - 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()"

关于AngularJS 点击 TouchStart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24745167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com