结合轻击和双重轻击离子事件
combine tap and doubletap ionic events
我搜索了几个例子,但我没有找到任何解决我的问题。我的问题很简单,我需要一个元素与两个事件,一个点击和双击事件。我这样做,但事件绑定在一起,我不需要这个…我需要我点击元素两次(双击),元素的状态被选中,如果我点击一次,元素被取消选中,现在没有被选中。我也这样做,结果是一样的,事件一起发生……有人知道怎么做吗??
谢谢
试试这个:
参见Vikas Gautam (@Vikasg7)在CodePen上的Pen Tap和Double Tap Ionic。指令如下:-
SepTap.$inject = ["$ionicGesture"]
function SepTap(IonicGesture) {
return {
restrict: "A",
link: linkFunc
}
function linkFunc(scope, ele, attrs) {
var isDoubleTap = false
var tap = IonicGesture.on("tap", onTap, ele)
var doubleTap = IonicGesture.on("doubletap", onDoubleTap, ele)
function onTap() {
setTimeout(onTap, 250)
function onTap() {
if (isDoubleTap) return
scope.$apply(attrs.stTap)
}
}
function onDoubleTap() {
isDoubleTap = true
scope.$apply(attrs.stDoubleTap)
// onTap is called twice almost immediadetly with a delay
// of 250ms, so using a delay of 300ms (50ms more) to
// reset isDoubleTap to false.
setTimeout(function () { isDoubleTap = false }, 300)
}
ele.on("$destroy", function () {
IonicGesture.off(tap, "tap", onTap)
IonicGesture.off(doubleTap, "doubletap", onDoubleTap)
})
}
}
请查看以上代码以获得完整实现。
http://www.gajotres.net/ionic-framework-series-13-touch-gestures/在评论部分说ionic已经禁用了onTap相关的延迟,该延迟用于分别检测这些tap类型。没有提到任何解决方法,只是不可能将它们区分开来。
文本片段:
不幸的是,一年前所做的更改从Ionic应用程序中删除了300ms的点击延迟。我说它很不幸,因为现在应用程序不能正确地检测同一元素上的点击/双击。两者都将触发。
我用
$scope.onDoubleTap = function(event){
setTimeout(function(){
if(!$(element).hasClass("selected")) {
$(element).addClass("selected");
......
}
},400);
};
$scope.onTap = function(event){
if($(element).hasClass("selected")){
$(element).removeClass("selected");
.....
}
};
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- javascript结合了数组和字典
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 结合onmouseover事件和<a>标签
- 将Backbone事件与HTML5视频播放事件结合使用
- 使用 Jquery 读取 XML 文件,如何将其与服务器发送事件相结合并保持页面最新
- 将 JavaScript 计时器与 signalR 事件结合使用来检查新数据
- jQuery鼠标后跟事件与元素动画相结合
- 结合轻击和双重轻击离子事件
- 将内联onclick事件与jquery onclick事件相结合
- 在javascript中结合for循环和定时事件
- 与事件驱动设计相结合的回调get函数
- 将承诺与事件结合起来
- 如何将点击监听器与提交事件函数结合起来?
- XPage事件onStart和onComplete与dojo.connect结合使用
- URL中的某些散列与页面上的点击事件相结合