我想升级到iScroll 5以获得在手机上滚动的性能改进,但MagnificPopup库停止为iPhone / iPad工作。 以下是展示问题的2个代码示例:
这两个示例都适用于桌面,但在iPhone / iPad上,使用iScroll 5的示例2无法在点击图片时打开MagnificPopup模式。
有什么可能导致这种冲突的线索?
答案 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 });
它适用于您点击和缩放事件。