【发布时间】:2012-01-31 23:15:24
【问题描述】:
当您将单击事件绑定到 Mobile Safari 中的任何元素时,复制和粘贴被阻止,有人知道解决方法吗!?
<span onclick="void(0);">This text cannot be cut or copied and a -webkit-tap-highlight-color style is automatically applied.</span>
这对我来说似乎是一个巨大的错误,特别是如果您从父元素(例如 body)委派事件...
如需演示该问题,请尝试在此演示中使用移动 Safari(iPhone 或 iPad)复制文本:http://jsbin.com/ikileb/1/
注意:如果您从主体委托事件似乎很好,但如果它是从 DOM 中的任何其他元素委托的,则应用 -webkit-tap-highlight-color 并防止在整个元素内复制和粘贴。
【问题讨论】:
-
我认为这不是一个真正的错误,但请查看上一个问题,他们在 addEventListener('touchstart'); 方面取得了成功
-
@Marcus - 不幸的是,touchstart 不是点击的有效替代品,因为它们的行为不同 - 最大的问题是 touchstart 无法区分点击和滚动手势,所以我仍然认为这是一个错误。
-
如果需要,您可以使用 touchstart+touchmove+touchend,并在 touchmove 上设置 swiping=true 标志以仅在点击时运行您的事件。作为旁注,Apple 文档正式将复制/剪切事件列为不受支持,所以你是对的 - 这可能是一个不容易修复的错误。见developer.apple.com/library/safari/#documentation/…
-
使用非内联JS方式绑定事件怎么样?喜欢 JQuery 方式
$('span').click(function(){alert('Hey!');});?
标签: javascript html css mobile mobile-safari