MagnificPopup无法使用iScroll 5

时间:2014-01-14 17:30:27

标签: jquery mobile iscroll iscroll4 magnific-popup

我想升级到iScroll 5以获得在手机上滚动的性能改进,但MagnificPopup库停止为iPhone / iPad工作。 以下是展示问题的2个代码示例:

    使用iScroll 4.2.5在iPhone / iPad上
  1. Example of zoom working
  2. 使用iScroll 5在iPad上
  3. Example of zoom NOT working
  4. 这两个示例都适用于桌面,但在iPhone / iPad上,使用iScroll 5的示例2无法在点击图片时打开MagnificPopup模式。

    有什么可能导致这种冲突的线索?

1 个答案:

答案 0 :(得分:2)

基本上,由于iscroll会阻止touchevent的默认onBeforeScrollStart,因此如果iscroll意识到用户没有滚动,则会在目标元素上模拟并调度click事件。

很好,但有些元素(如文本字段,锚标签,带超链接的图片标签)会得到关注;遗憾的是没有考虑到这一点。

要解决此问题,您可以将HTML标记添加到 iscroll.js或iscroll-lite.js 在下面的行。在js文件中搜索preventDefaultException,您可以添加要在其上执行操作的标记。

默认值为

preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ },

我已添加“A”“IMG”标记

preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|A|IMG)$/ },

亲爱的,一定会有用。

更多关于你可以做而不是上面的事情,你也可以设置点击和缩放为真。 当你IScroll对象声明

var myScroll = new IScroll('#wrapper', { click: true, zoom: true });

它适用于您点击和缩放事件。