我们正在使用iscroll来启用长div以在ipad上滚动。但是因为iscroll已经触发了触摸事件,用户无法再在div中选择文本。
有没有人知道是否有针对此的解决方法?
理论上,iscroll应该响应拖动而不是触摸,但实际上这似乎并没有发生。
其他人有这个问题吗?
答案 0 :(得分:1)
实现iScroll时,示例文件的css规则通常为
身体标签上的-webkit-user-select:none;
。如果您在决定拖动之前只是触摸并按住,此规则有助于不选择文本。删除该行(注释掉)以恢复文本选择功能。但是,这样,当用户与启用iScroll的区域进行交互时,文本选择器可能会出现在不合时宜的时刻。
干杯
答案 1 :(得分:1)
对于IScroll 5,请使用以下代码https://github.com/cubiq/iscroll/issues/439#issuecomment-53553645
要禁用鼠标单击 - 拖动滚动并仍然使用鼠标滚轮滚动,请使用此选项:
mouseWheel: true,
disableMouse: true
P.S。这也是一个很好的解决方案,无法在preventDefaultExceptions
{{1}} {{1}}进行压力注入时突出显示IScroll中的文本<{3}}
答案 2 :(得分:0)
在 iscroll.js 文件中找到此行:
129(for me): onBeforeScrollStart: function (e) { e.preventDefault(); },
现在只需使用要允许文本选择的块的className。喜欢这个
onBeforeScrollStart: function (e) { if (!el.match("block")) e.preventDefault(); }
代理不会阻止默认行为,并允许用户选择文本。