3 回答
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插件
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');
添加回答
举报