我们正在使用iscroll来支持长div在ipad上滚动。但是,由于iscroll已将触摸事件顶起,用户不能再选择div中的文本。
有没有人知道有没有办法解决这个问题?
从理论上讲,iscroll应该是对拖拽而不是触摸做出反应,但实际上这似乎并没有发生。
还有谁有这个问题吗?
发布于 2011-09-16 23:13:57
在实现iScroll时,示例文件的body标记上通常有一个-webkit-user-select:none;
的css规则。如果在决定拖动之前只需触摸并按住,则此规则有助于避免选中文本。删除该行(将其注释掉)以恢复文本选择功能。但是,当用户与启用了iScroll的区域交互时,文本选择器可能会在不合适的时刻出现。干杯
发布于 2014-08-27 18:54:15
对于IScroll 5,请使用以下代码https://github.com/cubiq/iscroll/issues/439#issuecomment-53553645
要禁用鼠标单击拖动滚动,但仍可以使用鼠标滚轮滚动,请使用以下选项:
mouseWheel: true,
disableMouse: true
附注:这也是一个很好的解决问题的方法,因为在没有像here http://jsfiddle.net/UDF59/这样的preventDefaultExceptions
完全注入的情况下,无法突出显示IScroll中的文本
发布于 2013-06-05 19:58:40
在iscroll.js文件中查找以下行:
129(for me): onBeforeScrollStart: function (e) { e.preventDefault(); },
现在只需在你想要允许文本选择的地方使用className of block。像这样
onBeforeScrollStart: function (e) { if (!el.match("block")) e.preventDefault(); }
代理将不会阻止默认行为,并将允许用户选择文本。
https://stackoverflow.com/questions/6433779
复制相似问题