2014-01-14 36 views
0

我想升级到iScroll 5以获得移动设备上的滚动性能改进,但MagnificPopup库停止适用于iPhone/iPad。 这里是展示问题的2个代码示例:在iPad上MagnificPopup不能与iScroll配合使用5

  1. Example of zoom working用iPhone/iPad与iScroll 4.2.5
  2. Example of zoom NOT working与iScroll 5

桌面上的两个例子都工作,但在iPhone/iPad上,使用iScroll 5的示例2在点击图片时将无法打开MagnificPopup模式。

任何有关可能导致此冲突的线索?

回答

2

基本上,由于iscroll会阻止touchevent的默认onBeforeScrollStart,如果iscroll意识到用户没有滚动,则会在目标元素上模拟和分派点击事件。

好极了,但是一些元素(如文本字段,锚定标记,带有超链接的图片标记)会收到焦点;这是不幸的是没有考虑到。

为了克服这个问题,你可以将HTML标记添加到iscroll.js或iscroll-lite.js 在以下行。在js文件中搜索preventDefaultException,您可以添加您想要执行操作的标签。

默认值是

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

和我已经加入“A”“IMG”标签给它

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

享受亲爱的,它肯定会工作。

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

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

它会为你工作,单击和缩放事件。

+1

'var myScroll = new IScroll('#wrapper',{click:true,zoom:true});'适合我 – Mavichow