2

我们使用 iscroll 来启用长 div 在 ipad 上滚动。然而,因为 iscroll 已经顶住了触摸事件,所以用户不能再在 div 中选择文本。

有谁知道是否有解决方法?

理论上 iscroll 应该响应拖动而不是触摸,但实际上这似乎没有发生。

还有谁有相同的问题吗?

4

3 回答 3

1

对于 IScroll 5,使用以下代码https://github.com/cubiq/iscroll/issues/439#issuecomment-53553645

要禁用鼠标单击拖动滚动并仍然使用鼠标滚轮滚动,请使用以下选项:

mouseWheel: true,
disableMouse: true

ps 这也是一个很好的解决方案,通过preventDefaultExceptions像这里http://jsfiddle.net/UDF59/

于 2014-08-27T10:54:14.873 回答
1

当您实现 iScroll 时,示例文件通常 -webkit-user-select:none;在 body 标记上具有 css 规则。如果您在决定拖动之前只是触摸并按住,则此规则有助于不选择文本。删除该行(将其注释掉)以恢复文本选择功能。但是,这样文本选择器可能会在用户与启用 iScroll 的区域交互时出现在不合时宜的时刻。干杯

于 2011-09-16T15:13:57.337 回答
0

在iscroll.js文件中找到这一行:

129(for me): onBeforeScrollStart: function (e) { e.preventDefault(); },

现在只需在要允许文本选择的地方使用块的类名。像这样

onBeforeScrollStart: function (e) { if (!el.match("block")) e.preventDefault(); }

代理不会阻止默认行为,并允许用户选择文本。

于 2013-06-05T11:58:40.467 回答