是否有一个javascript手势库可以与三星galaxy标签一起使用?
我一直在试验javascript手势库。不过,当我在我的三星Galaxy标签(GT-P7510,安卓4.04)上试用它们时,它们在iPad mini上的效果都非常好,充其量只能是间歇性的 我得到的最佳结果是在纵向模式下。在横向模式下,几乎什么都不起作用 除其他外,我尝试了以下库,所有这些库都是我在本文中找到的:是否有一个javascript手势库可以与三星galaxy标签一起使用?,javascript,jquery,swipe,gestures,Javascript,Jquery,Swipe,Gestures,我一直在试验javascript手势库。不过,当我在我的三星Galaxy标签(GT-P7510,安卓4.04)上试用它们时,它们在iPad mini上的效果都非常好,充其量只能是间歇性的 我得到的最佳结果是在纵向模式下。在横向模式下,几乎什么都不起作用 除其他外,我尝试了以下库,所有这些库都是我在本文中找到的: hammer.js quo.js 敏感的 双击 jgestures 触摸屏 TouchSweep工作得最好,但其他所有人都没有真正发挥作用 Hammer页面有一个演示,它可以在ipa
- hammer.js
- quo.js
- 敏感的
- 双击
- jgestures
- 触摸屏
我已经查看了以前的stackoverflow问题所指向的quirksmode页面,但从我看到的情况来看,该页面已经过时,不再维护。而且,它实际上没有提到任何图书馆。我很幸运地发现了这一个: 它有长时间的按下、捏、旋转和滑动手势,代码也很容易定制
请注意,需要处理手势的组合——例如,刷卡几乎总是会触发长时间触摸,因此您必须设置标志或以其他方式进行处理。这里是一个代码笔手势比较工具 在做了大量工作之后,我们放弃了Hammer.JS,搬到了我们认为还可以的地方。事情可能已经改变了,现在也不一样了
document.head.insertAdjacentHTML( 'beforeEnd', '<meta name="viewport" content="target-densitydpi=device-dpi,width=device-width,initial-scale=1.0" />' );
$(function(){
//initialization
$(".detector").bind("click touchstart",function(e){
$(".detector").removeClass("selected");
$(this).addClass("selected");
unbindLibrary();
bindLibrary($(this).prop("id"));
});
//bind library to gesture pad
bindLibrary = function(id){
var $pad = $("#gesture-pad");
var events = [];
var eventStr = "";
$("#" + id + "List li").each(function(){
events.push($(this).text());
})
//make target event list from each library's gestureList
eventStr = events.join(" ");
switch(id){
case "hammer":
hammer = Hammer($pad.get(0), {
prevent_default: true
})
.on(eventStr, logEvent);
break;
case "quojs":
for(var i = 0;i<events.length;i++){
$$("#gesture-pad").on(events[i], logEvent);
}
$$("#gesture-pad").on("touchstart",function(e){
e.preventDefault();
});
break;
case "touchSwipe":
var options = {};
var touchSwipeHandler = function(name){
if(name.indexOf("pinch") < 0){
return function(event, distance, duration, fingerCount){
var e = {}; e["type"] = name; logEvent(e);
};
}else{
return function(e, direction, distance, d, f, pinchZoom){
var e = {}; e["type"] = name; logEvent(e);
};
}
};
for(var i = 0;i<events.length;i++){
options[events[i]] = new touchSwipeHandler(events[i]);
}
$pad.swipe(options);
break;
case "touchy" :
var handler = function(name){
return function(event, phase, $target, data){
var e = {}; e["type"] = name; logEvent(e);
}
}
for(var i = 0;i<events.length;i++){
$pad.bind(events[i],new handler(events[i]));
}
break;
}
}
//unbind library from gesture pad
unbindLibrary = function(){
var element = $("#gesture-pad").clone();
$("#gesture-pad").replaceWith(element);
$(".gesturelist .selected").removeClass("selected");
}
//log detected gesture
logEvent = function(e){
$("#detected").text(e.type);
var selected = $(".detector.selected").prop("id");
$("#" + selected + "List li").each(function(){
if($(this).text() == e.type){
$(this).addClass("selected");
`enter code here` };
})
return false;
}
$(".detector").first().addClass("selected");
bindLibrary($(".detector.selected").prop("id"));
})
document.head.insertAdjacentHTML('beforeed','';
$(函数(){
//初始化
$(“.detector”).bind(“单击touchstart”,函数(e){
$(“.detector”).removeClass(“选定”);
$(此).addClass(“选定”);
解除绑定库();
bindLibrary($(this.prop(“id”));
});
//将库绑定到手势板
bindLibrary=函数(id){
var$pad=$(“#手势pad”);
var事件=[];
var eventStr=“”;
$(“#”+id+“List li”)。每个(函数(){
events.push($(this.text());
})
//从每个库的手势列表中创建目标事件列表
eventStr=events.join(“”);
开关(id){
“锤子”一案:
锤子=锤子($pad.get(0){
阻止默认值:true
})
.on(eventStr,logEvent);
打破
案例“quojs”:
对于(var i=0;i我知道这是一个老问题,但我尝试了几个库,但对其中任何一个都不满意,所以推出了我自己的。它是麻省理工学院许可的,在
带有测试/演示页面
我经常在Galaxy S4手机、几台iPad和几台Windows 8触摸屏设备上使用它。我们在工作中使用它制作软件
错误报告(附示例)欢迎。你已经在使用javascript库了吗?现在我正在做一个jQuery UI项目,为了增加手势功能,我使用了“jQuery UI触摸穿孔”,它在iPad和Android上运行得非常好。我对新的sencha框架感到震惊,我想它的核心仍然是Ext JS……我想这个问题很可能是结束:见抱歉,但我不同意。元讨论中陈述的论点不适合这里。首先,我还没有收到答案!关于触摸打孔,我不知道如何使用它来实现刷卡手势。如果我有一个现有的操作,如拖放,我想与平板电脑一起工作,但我想要在没有现有操作的情况下使滑动工作,请在图像上滑动以获得下一个图像。诸如此类。此外,如果您还没有尝试过,请查看repo中的开发分支--它的更新帮助我获得了+1的实际答案!我将在今晚进行实验,并让您知道我的进展情况。是的!最后!Th事实上,at是有效的。非常感谢你为我指明了正确的方向。即使我改变方向,它也能起作用。