我使用JQuery将一些功能绑定到桌面网站中的键盘箭头键事件。
$(document).keydown(function(e) {
switch (e.which) {
case 37: //left
doIT("leftside");
Break;
case 38: //up
doIT("upside");
Break;
case 39: //right
doIT("rightside");
Break;
case 40: //down
doIT("downside");
Break;
}
}
这些在桌面网站上运行正常,但在移动网站上却没有 (我知道我们无法访问移动设备中的箭头键)
我希望在移动网站上执行相应的功能 (如果用户在移动网站上向左/向上/向右/向下滑动)
任何人都可以帮助我吗?
答案 0 :(得分:0)
我认为你不能这样做,尤其是滑动,因为滑动是不同事件的组合(即keydown,keyhold,keyup)。
通过keyup和keydown事件拾取滑动可能非常困难。最好使用一个可以明确检测滑动的插件,例如Hammer.js
答案 1 :(得分:0)
jquery mobile包含swipeleft
和swiperight
对于向上和向下哟必须使用scrollstart和scrollstop事件来检测滚动的方向。
var start = 0;
$(document).on("scrollstart", function() {
console.log($(window).scrollTop());
start = $(window).scrollTop();
});
$(document).on("scrollstop", function() {
console.log($(window).scrollTop());
var end = $(window).scrollTop();
if (start - end < 0) {
console.log("Scrolled down");
doIT("downside");
} else {
console.log("Scrolled up");
doIT("upside");
}
});
$(document).on("swipeleft", function() {
doIT("rightside");
console.log("right");
});
$(document).on("swipeleft", function() {
doIT("leftside");
console.log("right");
});