我正在使用jqMobi,(不是jQuery Mobile)。
我想让swipelistener
在菜单上工作。基本上我只想用水平滑动动作“滑动”菜单打开或关闭。这是我的js:
$.ui.ready(function () {
. . . . .
$(window).swipeListener({
vthreshold: 50,
hthreshold: 70,
callBack: function (dir) {
if (dir.right) {
$.ui.toggleSideMenu(true);
}
if (dir.left) {
$.ui.toggleSideMenu(false);
}
}
});
});
除非我在这里用红色部分“滑动”,否则效果很好 - >
如果我在其他地方滑动,它可以正常工作。我也试过使用document
选择器,这也没用。我尝试将另外swipelistener
添加到#menu
和#menu_scroller
。
这对我来说非常难以调试,因为我的设备是IOS6并且“调试控制台”已被删除,所以我不能只添加大量的控制台日志记录。 (我没有Mac,所以我无法连接开发人员菜单)
我的理论是,由于菜单项上有ontouchstart
和ontouchend
个侦听器,这会干扰我的swipelistener
。有什么建议吗?
答案 0 :(得分:1)
不推荐使用swipeListener。相反,您可以绑定jqUi [swipe,swipeLeft,swipeRight,swipeUp,swipeDown]调度的事件。你有ontouchstart / ontouchend的听众可能会杀死事件,但是他们是自定义听众吗?(
$.ui.ready(function(){
$(document).bind("swipeLeft",function(){
$.ui.toggleSideMenu(false);
});
$(document).bind("swipeRight",function(){
$.ui.toggleSideMenu(true);
});
}