这里的pinch事件 alert(evt.type)可以alert出来,但是 进不到 onUIMessage(evt) 方法的 if (evt.type == 'pinchstart' || evt.type == 'pinchend' || evt.type == 'pinchmove') {}里边,但是却能进else if (evt.type == 'pan' || evt.type == 'panstart' || evt.type == 'panend' || evt.type == 'panmove') {} 里,有没有大神指导怎么回事啊
// 触摸按下
thisHammer.on("panstart panmove panend", function (evt) {
onUIMessage(evt);
console.log(evt.type);
});
//Pinch
thisHammer.add(new Hammer.Pinch());
thisHammer.on("pinchstart pinchmove pinchend", function (evt) {
alert(evt.type);
onUIMessage(evt);
});
/*
* UI Message
*/
function onUIMessage(evt) {
evt.preventDefault(); //通知浏览器不要执行与事件关联的默认动作。
var msgType = this.getMsgType(evt); // 事件消息类型
if (msgType == "") {
return;
}
var eventMsg = { name: msgType };
/* eventMsg.pageX = evt.pageX;
eventMsg.pageY = evt.pageY;
eventMsg.clientX = evt.clientX;
eventMsg.clientY = evt.clientY;
eventMsg.ctrlKey = evt.ctrlKey;
eventMsg.altKey = evt.altKey;
eventMsg.shiftKey = evt.shiftKey;
eventMsg.scale = evt.scale;*/
if (evt.type == 'mousewheel') {
var delta = (evt.originalEvent.wheelDelta && (evt.originalEvent.wheelDelta > 0 ? 1 : -1));
if (delta > 0) {
// 向上滚
console.log("wheelup");
} else if (delta < 0) {
// 向下滚
console.log("wheeldown");
}
eventMsg.wheelDelta = delta;
console.log(eventMsg.wheelDelta );
}
if (evt.type == 'keydown') {
eventMsg.keyCode = evt.keyCode;
console.log(eventMsg.keyCode);
}
alert('out');
eventMsg.annoName = this._currAnnoName;
if (evt.type == 'pinchstart' || evt.type == 'pinchend' || evt.type == 'pinchmove') {
alert('come in');
if (evt.pointers.length == 2) {
var offsetX = evt.pointers[1].clientX - evt.pointers[0].clientX;
var offsetY = evt.pointers[1].clientY - evt.pointers[0].clientY;
eventMsg.twoFingerDistance = Math.sqrt(offsetX * offsetX + offsetY * offsetY);
eventMsg.clientX = evt.center.x;
eventMsg.clientY = evt.center.y;
eventMsg.x = evt.center.x;
eventMsg.y = evt.center.y;
alert(eventMsg.name+ offsetX +offsetY+eventMsg.twoFingerDistance+eventMsg.x +eventMsg.clientX );
}
eventMsg.annoName = "imageZoom";
}
else if (evt.type == 'pan' || evt.type == 'panstart' || evt.type == 'panend' || evt.type == 'panmove') {
if (evt.srcEvent != null && evt.srcEvent != undefined) {
if (evt.pointerType == "mouse") {
eventMsg.x = evt.srcEvent.x;
eventMsg.y = evt.srcEvent.y;
eventMsg.pageX = evt.srcEvent.pageX;
eventMsg.pageY = evt.srcEvent.pageY;
eventMsg.clientX = evt.srcEvent.clientX;
eventMsg.clientY = evt.srcEvent.clientY;
}
else {
if (evt.srcEvent.changedTouches != undefined) {
eventMsg.x = evt.srcEvent.changedTouches[0].screenX;
eventMsg.y = evt.srcEvent.changedTouches[0].screenY;
eventMsg.pageX = evt.srcEvent.changedTouches[0].pageX;
eventMsg.pageY = evt.srcEvent.changedTouches[0].pageY;
eventMsg.clientX = evt.srcEvent.changedTouches[0].clientX;
eventMsg.clientY = evt.srcEvent.changedTouches[0].clientY;
}
eventMsg.ctrlKey = evt.srcEvent.ctrlKey;
eventMsg.altKey = evt.srcEvent.altKey;
eventMsg.shiftKey = evt.srcEvent.shiftKey;
alert(eventMsg.name+eventMsg.x+eventMsg.y+eventMsg.pageX+eventMsg.pageY +eventMsg.clientX );
}
}
}
hammer.js 的pinch事件
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- Go 旅城通票 2017-06-09 07:34关注
var msgType = this.getMsgType(evt); // 事件消息类型 if (msgType == "") { return; }
是不是这里退出了?
alert('|'+evt.type+'|')//增加这个看看输出还是对没有没有
if (evt.type == 'pinchstart' || evt.type == 'pinchend' || evt.type == 'pinchmove') {解决 无用评论 打赏 举报
悬赏问题
- ¥15 lammps拉伸应力应变曲线分析
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
- ¥30 python代码,帮调试
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python