我遇到了一个问题: touchSwipe.js没有在(元素)上触发滑动事件。我做了我的研究,很快就找到了回答。
这个解决方案工作得很好,除了锚停下来表现得像他们应该做的那样。例如,类似于打开网页,或者在JS处理时触发单击事件。
我想我错过了一些很重要的东西。有人能澄清一下吗?谢谢!
发布于 2014-04-02 10:41:12
必须重置排除的元素。
$("#test").swipe({
swipe: function(/* stuff */){
// do some stuff and more
},
// and do even more stuff
// at the end:
excludedElements: ""
});它能在我的网站上运行。我现在遇到的唯一一件事是,在默认的安卓浏览器中,元素不能使用jQuery $ ("a.stuff")。点击(。其余的都能正常工作。
发布于 2015-08-30 12:51:31
答案隐藏在上面的答案中,因为它是一个组合。为了能够点击/点击链接,同时也能够滑动你的菜单,你需要使用一个可能的75 (不是零!)并确保没有排除"A“元素:
$('nav#access , .bodywrapper').swipe({
swipe: function(event, direction, distance, duration, fingerCount, fingerData) {
// do your stuff.....
},
threshold: 75,
excludedElements: ""
});发布于 2014-03-05 21:22:46
如果没有代码,我就无法知道在哪里,但听起来您的javascript中有一个e.preventDefault、一个return false或一个e.stopPropagation阻塞了正常的行为,也许是在swipe事件的末尾,这对于大多数函数来说都是正常的和预期的,因为您想要滑动,而不是去其他地方,这就是为什么默认情况下元素被排除在外的原因,因为touchSwipe基本上是对默认行为的高估。
但我的问题是,你真的希望这个元素既可点击又可滑动吗?如果是这样的话,看看踢踏舞对滑动,在您的刷处理程序中,您可以放置如下所示的内容:
$("#test").swipe( {
tap:function(event, target) {
//click events go here
},
threshold:75
});或者,如果包含jquery.ui.ipad.js插件,也可以在touchSwipe对象的子对象上拾取标准的jQuery鼠标事件。(也来自有示例的踢踏舞与猛击页面,请查看。)
另外,也可以看看touchSwipes的缺省值,在这里您可以为longTapThreshhold、doubleTap、tap和triggerOnTouchLeave等设置各种值和处理程序。
https://stackoverflow.com/questions/20790431
复制相似问题