Javascript 捕获粘贴事件

Javascript 捕获粘贴事件,javascript,jquery,copy-paste,coffeescript,paste,Javascript,Jquery,Copy Paste,Coffeescript,Paste,我需要一个捕获复制粘贴事件。我有一个例子。但粘贴事件会激发4次。为什么?我需要一次。这是密码?请帮帮我 $(function() { return $('#myform').bind('paste', function(e) { return alert("123"); }); }); 我不确定您在哪个浏览器中经历了四次被触发的事件,但我已经为自己测试了您的代码,无法重现这种行为。尽管如此,您的代码仍然存在一些问题 绑定事件后,无需返回jQuery对象 不需要返回警报,因为警报

我需要一个捕获复制粘贴事件。我有一个例子。但粘贴事件会激发4次。为什么?我需要一次。这是密码?请帮帮我

$(function() {
  return $('#myform').bind('paste', function(e) {
    return alert("123");
  });
});

我不确定您在哪个浏览器中经历了四次被触发的事件,但我已经为自己测试了您的代码,无法重现这种行为。尽管如此,您的代码仍然存在一些问题

绑定事件后,无需返回jQuery对象

不需要返回警报,因为警报返回的是未定义的

看看这些变化:

$(function() {
  $('#myform').bind('paste', function(e) {
    console.log(e.type);
  });
});

请参阅live:

它在Safari 5.1中只启动一次……这里有一个测试页面,它在firefox和chrome中启动一次,在chrome中启动两次,用于Ubuntu 11.04。为什么事件不同?@Zeck听起来像是浏览器中的一个bug。你应该报告。“对于Mac来说,Chrome13没有问题。”特雷弗·伯纳姆说。好的,谢谢你们。对不起,我是从咖啡脚本编译的。嘿,我知道了。这是CoffeeScript的bug。如果CoffeeScript正在生成代码,那么您应该提交一个问题:这不是CoffeeScript bug@Rick,请不要建议人们在CoffeeScript没有引起问题的情况下在CoffeeScript上提交问题。是的,CoffeeScript有隐式返回,这给JS输出增加了一些噪声。但这些回报虽然是多余的,却没有任何效果。只有返回值false才会在jQuery事件回调中产生任何影响,而alert根本不会返回任何内容。如果您是这样认为的,那么我很乐意针对生成的代码提交一份问题通知单。我很感激您试图通过向我解释从jQuery事件回调返回false的用例来提供帮助,但我肯定已经控制住了这一点。另外,我欢迎你亲自把这篇评论带给我——考虑到你住在剑桥,我住在波士顿。本周任何时候都可以去国会街355号的Bocoup loft,我们可以就格式不良的transpiler代码的危害进行辩论。