我正在尝试用图像和youtube视频构建简单的滑块.我想让它在触摸设备上工作正常,所以我想使用ng-swipe-*angular的ngTouch模块.不幸的是,滑动无法在youtube的iframe上运行.我试着设置较低z-index: -10;,但后来我无法播放视频.
你知道如何解决这个问题吗?
有一个片段:
var app = angular.module('app', ['ngTouch']);
app.controller('ctrl', function($scope) {
$scope.msg = function(msg) {
alert(msg);
}
});Run Code Online (Sandbox Code Playgroud)
.ok {
width: 300px;
height: 100px;
background: green;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://code.angularjs.org/1.4.8/angular.min.js"></script>
<script src="https://code.angularjs.org/1.4.8/angular-touch.min.js"></script>
<div ng-app="app">
<div ng-controller="ctrl" ng-swipe-right="msg('right')" ng-swipe-left="msg('left')">
<div class="ok">swipe works here</div>
<div>
<iframe width="300" height="200" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
(测试它的最佳方法是在Chrome开发者控制台中运行它并在触摸设备上模拟)
我是角度JS的新手,也是移动应用程序的新手.作为其中的一部分,我需要编写一个处理触摸事件的服务,例如向左滑动,向右滑动,向上滑动和向下滑动,我需要根据所做的操作回叫.如果有任何有用的教程,请告诉我.
角度触摸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 }); });
});
};
}
]);
Run Code Online (Sandbox Code Playgroud) 我正在使用Angular构建一个移动Web应用程序,我正在尝试合并ngTouch(角度触摸)模块以加速移动设备上的点击事件.
这是没有 ngTouch 的应用程序:http://lukasolson.github.io/n-spade-cards/ng-click/
这是使用 ngTouch 的应用程序:http://lukasolson.github.io/n-spade-cards/ng-touch/
我正在使用Safari测试iPhone 5.
没有ngTouch模块,一切正常,但有300毫秒恼人的点击延迟.
但是,使用ngTouch模块,每次点击屏幕时,网络应用程序都认为我正在点击两次,破坏了我的应用程序的功能.
我是否错误地包括ngTouch模块?为什么多次点击事件会被触发?
如何使用ngTouch但有选择地禁用某些元素?也就是说,对于某些元素,我想使用原始ngClick指令而不是ngTouch提供的指令.像这样的东西:
<button ng-click-original="myClickFn()">click me</button>
Run Code Online (Sandbox Code Playgroud)