如果我创建右键单击菜单,如何保留原始复制和粘贴功能
How can I keep the orginal copy and paste function if I create a right click menu?
我刚刚开始学习右键单击菜单。
我想将其用于一些基本功能,例如YouTube搜索,图像搜索等。
但问题是,当我覆盖默认浏览器右键单击菜单时,我可以对复制和粘贴功能说再见,据我所知,我无法保留它。
我听说过一些jquery javascript插件,它可以做复制和粘贴功能,但问题不太安全,而且不能一直工作,浏览器安全策略也总是在变化,所以这不是我可以保留此功能的最佳方法。
知道如何使用默认复制和粘贴选项创建自己的 javascript 菜单吗?
正如你所指出的,大多数解决方案都使用类似"隐藏"的Flash对象来处理来自JavaScript的剪贴板交互。这是因为虽然您可以在所有浏览器中创建剪贴板事件,但在文档上触发它要么不起作用,要么会导致错误。影响剪贴板仍然是沙盒行为。
我会回应上面的一些评论,并建议您尽可能不要替换现有菜单。但是,在 Firefox 和其他浏览器中,当他们添加对它的支持时,有一个解决方法可以将菜单项添加到现有的上下文菜单中:
<menu type="context" id="mymenu">
<menuitem label="Do something" id="something"></menuitem>
</menu>
<div contextmenu="mymenu">
Any context menu in this element will have the items added to it from mymenu.
</div>
菜单项的事件可以这样处理:
document.getElementById("something").addEventListener("click", function () { ... });
这个规范可能仍在制定中,Firefox的实现并不完全遵循规范。但是,就目前而言,它确实可以作为添加自己的项目并保留现有上下文菜单的一种方式。
现场示例:http://jsfiddle.net/1ehtfjz6/5/
相关文章:
- 将作用域绑定到事件处理程序,但保留原始参数
- php get_contents-保留源文件的原始url
- ngTagsInput:保留原始数据提供者的数据格式
- Javascript:如何在混合原始对象后保留定义的对象描述符
- Javascript - 将原始图像放入另一个容器后保留原始图像
- 将对象分配给另一个对象并保留原始数据
- 如果我创建右键单击菜单,如何保留原始复制和粘贴功能
- 当我克隆文件输入时,克隆的输入不会保留上传的文件.原始输入确实如此
- 车把:在保留原始排序索引的同时对列表进行排序
- 删除原始对象,同时在 JavaScript 中保留它的副本
- 如何在 JavaScript 中覆盖全局函数,但保留对原始函数的引用
- 在 JavaScript 函数之后保留原始数组
- jQuery 插件,保留对原始元素的引用
- 传递url时保留原始反斜杠的问题
- Object.assign保留对原始对象的引用
- 需要更新数组中的值,但保留原始值才能再次更新
- 重新定义window.console函数时,请保留原始路径位置
- Javascript: bind参数,但保留原始参数
- 重写javascript函数,同时保留原始上下文
- 通过jQuery.fn.data()分配变量将保留对原始标记值的引用