滑动效果敏感度
我试图使用滑动效果的移动应用程序。 我已经测试并努力改变页面。 但它非常敏感。 很多时候我只想滚动并改变页面。
有可能在此事件中修复触摸屏上的敏感度吗?
这是我的代码:
$(document).on('swipeleft', '[data-role="page"]', function(event){ if(event.handled !== true) // This will prevent event triggering more then once { var nextpage = $(this).next('[data-role="page"]'); // swipe using id of next page if exists if (nextpage.length > 0) { $.mobile.changePage(nextpage, {transition: "slide", reverse: false}, true, true); } event.handled = true; } return false; }); $(document).on('swiperight', '[data-role="page"]', function(event){ if(event.handled !== true) // This will prevent event triggering more then once { var prevpage = $(this).prev('[data-role="page"]'); if (prevpage.length > 0) { $.mobile.changePage(prevpage, {transition: "slide", reverse: true}, true, true); } event.handled = true; } return false; });
在jQuery Mobile中,您需要为水平和垂直拖动距离horizontalDistanceThreshold
和verticalDistanceThreshold
设置新值。
请注意,您需要将更改绑定到mobileinit
事件,并且在加载jQuery js文件之后和加载jQuery-Mobile js之前,应将代码放入 。
参考: 滑动事件 – jQuery Mobile
像这样调整滑动阈值
$.swipe.defaults.threshold.x = '30'; //for horizontal swiping sensitivity $.swipe.defaults.threshold.y = '10'; //for vertical swiping sensitivity
只需添加这些代码即可更改应用程序滑动的全局灵敏度,并在输入上述代码后执行常用代码
要直接更改某个元素的灵敏度,您可以执行此类操作
$('[data-role="page"]').swipe({ threshold: {x: 30, y: 20}, swipeLeft: function() { alert('swiped left') }, swipeRight: function() { alert('swiped right') }});