【发布时间】:2017-07-15 05:08:36
【问题描述】:
我正在构建一个覆盖标准选择行为并允许复制和粘贴元素的应用程序。问题是如果我禁用选择,复制事件也会消失。
我尝试过使用
onselectstart="return false;"
和
.no-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
它可以工作,但它也会禁用复制事件。
我也尝试只为这些包含文本的部分添加.no-select 属性,但它很难维护并且效果不佳 - 有时复制事件被阻止并且我无法控制它。
我怎样才能禁用选择,但启用复制/粘贴正确的方式?
编辑:
- 我不想复制文本,而是我自己的 json 结构。复制在
onCopy处理程序中处理。 - 我需要订阅由 chrome 菜单或系统快捷方式启动的标准 chrome 复制事件。
【问题讨论】:
-
我想知道如何在不选择文本的情况下进行复制/粘贴?
-
我在
onCopy事件中处理复制 -
我不想复制文本(这是标准行为),而是我自己的对象的 json 表示
-
只需在该文本后面制作一个小按钮,这会指示用户将该文本复制为对象而不选择它。还有一个名为 clipboardjs 的库,您可以使用它来将内容放入剪贴板。
-
@Kyon:我无法添加任何按钮、上下文菜单等。我只能中继浏览器触发的标准复制事件。
标签: javascript css html google-chrome