ios – 停止jQuery Mobile滑动事件双重冒泡

ios – 停止jQuery Mobile滑动事件双重冒泡,第1张

概述我在iPad Safari上安装了jQuery Mobile,出于某种原因,触摸滑动事件发生了两次. 人们在本周报告了与本周相同的问题,但我无法找到解释如何在不修改jQuery Mobile的情况下修复双重事件,我不想这样做. Thread on jQuery forums 滑动处理程序的以下元素绑定都具有相同的不正确的双事件结果,其中每次滑动都会调用两次警报. 应该如何绑定jQuery Mobi 我在iPad Safari上安装了jquery Mobile,出于某种原因,触摸滑动事件发生了两次.

人们在本周报告了与本周相同的问题,但我无法找到解释如何在不修改jquery Mobile的情况下修复双重事件,我不想这样做. Thread on jQuery forums

滑动处理程序的以下元素绑定都具有相同的不正确的双事件结果,其中每次滑动都会调用两次警报.

应该如何绑定jquery Mobile触摸事件以避免双重冒泡

// Test 1: Binding directly to document with delegate()$(document).delegate(document,'swipeleft swiperight',function (event) {    alert('You just ' + event.type + 'ed!');});// Test 2: Binding to document with on() handler recommended as of 1.7 with and without preventDefault$(document).on('swipeleft',function(event,data){    event.preventDefault();    alert('You just ' + event.type + 'ed!');});// Test 3: Binding to body with on() with and without event.stopPropagation $('body').on('swipeleft',data){   event.stopPropagation();   alert('You just ' + event.type + 'ed!');});// Test 4: Binding to div by class$('.container').on('swipeleft',data){   event.stopPropagation();   alert('You just ' + event.type + 'ed!');});
解决方法 event.stopImmediatePropagation()是诀窍,与stopPropagation()不同.确保在document.ready中调用 jQuery on()方法似乎有所帮助.我能够使用任何元素选择器绑定事件,包括使用swipeup和从 here向下滑动
$(document).ready(function(){        $(document).on('swipeleft swiperight swipedown swipeup',data){        event.stopImmediatePropagation();        console.log('(document).Stop prop: You just ' + event.type + 'ed!');    });});
总结

以上是内存溢出为你收集整理的ios – 停止jQuery Mobile滑动事件双重冒泡全部内容,希望文章能够帮你解决ios – 停止jQuery Mobile滑动事件双重冒泡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存