我在一个页面中有以下代码。 目前在桌面上运行正常。 向左箭头向后导航。右箭头向前。我想在家里添加一些东西并结束。
代码的“滑动”部分是我在网络搜索后得到的内容,除了“// DO STUFF HERE”之后的几行(if ...... else ...)。
在移动设备上进行测试(Galagy S4上的Firefox):该网站运行良好,除了这个包含代码的唯一网站。
结果:滑动不工作但也点击(不确定它是否被称为点击移动设备)不起作用,调整大小不起作用...换句话说,卡在页面上。
我没有太多工具可以在移动设备上进行调试。
function checkKey(event) {
var keyEvent = event || window.event,
keycode = (keyEvent.which) ? keyEvent.which : keyEvent.keyCode;
if(keycode == 37)
NavigateBackward();
else if(keycode == 39)
NavigateForward();
else
{
alert(keycode);
return true
}
return false;
}
document.onkeypress = checkKey;
var swipeFunc = {//Source:https://gist.github.com/localpcguy/1373518
touches : {
"touchstart": {"x":-1, "y":-1},
"touchmove" : {"x":-1, "y":-1},
"touchend" : false,
"direction" : "undetermined"
},
touchHandler: function(event) {
var touch;
if (typeof event !== 'undefined'){
event.preventDefault();
if (typeof event.touches !== 'undefined') {
touch = event.touches[0];
switch (event.type) {
case 'touchstart':
case 'touchmove':
swipeFunc.touches[event.type].x = touch.pageX;
swipeFunc.touches[event.type].y = touch.pageY;
break;
case 'touchend':
touches[event.type] = true;
if (swipeFunc.touches.touchstart.x > -1 && swipeFunc.touches.touchmove.x > -1) {
swipeFunc.touches.direction = swipeFunc.touches.touchstart.x < swipeFunc.touches.touchmove.x ? "right" : "left";
// DO STUFF HERE
if(swipeFunc.touches.direction === "left")
alert(swipeFunc.touches.direction);
else if(swipeFunc.touches.direction === "left")
alert(swipeFunc.touches.direction);
else
return true;
return false;
}
default:
break;
}
}
}
},
init: function() {
document.addEventListener('touchstart', swipeFunc.touchHandler, false);
document.addEventListener('touchmove', swipeFunc.touchHandler, false);
document.addEventListener('touchend', swipeFunc.touchHandler, false);
}
};
swipeFunc.init();