我们使用 iscroll 来启用长 div 在 ipad 上滚动。然而,因为 iscroll 已经顶住了触摸事件,所以用户不能再在 div 中选择文本。
有谁知道是否有解决方法?
理论上 iscroll 应该响应拖动而不是触摸,但实际上这似乎没有发生。
还有谁有相同的问题吗?
我们使用 iscroll 来启用长 div 在 ipad 上滚动。然而,因为 iscroll 已经顶住了触摸事件,所以用户不能再在 div 中选择文本。
有谁知道是否有解决方法?
理论上 iscroll 应该响应拖动而不是触摸,但实际上这似乎没有发生。
还有谁有相同的问题吗?
对于 IScroll 5,使用以下代码https://github.com/cubiq/iscroll/issues/439#issuecomment-53553645
要禁用鼠标单击拖动滚动并仍然使用鼠标滚轮滚动,请使用以下选项:
mouseWheel: true,
disableMouse: true
ps 这也是一个很好的解决方案,通过preventDefaultExceptions
像这里http://jsfiddle.net/UDF59/
当您实现 iScroll 时,示例文件通常
-webkit-user-select:none;
在 body 标记上具有 css 规则。如果您在决定拖动之前只是触摸并按住,则此规则有助于不选择文本。删除该行(将其注释掉)以恢复文本选择功能。但是,这样文本选择器可能会在用户与启用 iScroll 的区域交互时出现在不合时宜的时刻。干杯
在iscroll.js文件中找到这一行:
129(for me): onBeforeScrollStart: function (e) { e.preventDefault(); },
现在只需在要允许文本选择的地方使用块的类名。像这样
onBeforeScrollStart: function (e) { if (!el.match("block")) e.preventDefault(); }
代理不会阻止默认行为,并允许用户选择文本。