为了账号安全,请及时绑定邮箱和手机立即绑定

您如何处理jQuery中的oncut,oncopy和onpaste?

您如何处理jQuery中的oncut,oncopy和onpaste?

慕妹3146593 2019-11-12 11:05:54
在jQuery文档说,库有内置支持下列活动:模糊,焦点,负载,调整大小,滚动,卸载,点击,DBLCLICK,鼠标按下,鼠标松开,鼠标移动,鼠标悬停,鼠标移开,了mouseenter,鼠标离开,改变,选择,提交,按键按下,按键按下,按键输入和错误。我需要处理剪切,复制和粘贴事件。如何做到最好?FWIW,我只需要担心WebKit(幸运的是我!)。更新:我正在一个类似仪表板的环境中处理一个“小部件”。它使用WebKit,因此(就我的目的而言),是否真的支持这些事件才真正重要(就我的目的而言)。
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

您可以使用.on()和off()方法添加和删除任何类型的事件


试试这个,例如


jQuery(document).on('paste', function(e){ alert('pasting!') });

jQuery实际上对于浏览器是否支持您分配的事件类型完全无关紧要,因此您可以将任意事件类型分配给元素(和常规对象),例如:


jQuery('p').on('foobar2000', function(e){ alert(e.type); });

如果是自定义事件类型,则必须.trigger()在代码中“手动”使用它们,如下所示:


jQuery('p').trigger('foobar2000');

干净吗?


此外,要以跨浏览器兼容的方式处理专有/自定义DOM事件,您可能需要使用/编写“ jQuery事件插件” ...在下面的示例中可以看到 jquery.event.wheel.jsBrandon Aaron的Mousewheel插件


查看完整回答
反对 回复 2019-11-12
?
ITMISS

TA贡献1871条经验 获得超8个赞

在jQuery 1.7中,您可以使用bind(...)和unbind(...)方法分别附加和删除处理程序。


以下是一些符合您的问题的示例:


$('#someElementId').bind('paste', function(){return false;});

-这将阻止从剪贴板粘贴到元素主体的任何尝试。您还可以使用cut,copy和其他作为事件类型(请参见下面的链接)


$('#someElementId').bind('copy', function(){return alert('Hey fella! Do not forget about copyrights!');});

因此,在其他情况下,当您想要删除这些处理程序时,可以使用unbind()方法:


$('#someElementId').unbind('copy');


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 724 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信