有没有办法在mootools中捕获x浏览器粘贴事件?

问题描述:

我想在用户使用mootools事件系统将数据粘贴到文本输入字段时捕获数据。有没有办法在mootools中捕获x浏览器粘贴事件?

任何人都有这方面的经验?

+0

我不知道mootools,但在所有现代浏览器中都有一个'onpaste'事件。 – 2010-01-30 19:07:01

+0

下面是对类似问题的解答。 http://*.com/questions/2130275 – Mic 2010-01-30 20:26:50

只要按下'ctrl + v'键,该函数就会被触发。

MooTools的文档:http://www.mootools.net/docs/more/Interface/Keyboard

编辑:HTML和JS代码

<html> 
    <head> 
     <script type='text/javascript' src='core.js'></script> 
     <script type='text/javascript' src='more.js'></script> 
     <script type='text/javascript'> 
     function keyPressed(e) 
     { 
      var evt = Event(e); 
      evt.stop(); 
     } 

     window.addEvent('domready', function() 
     { 
      var myKeyboardEvents = new Keyboard(
      { 
       eventType: 'keyup', 
       events: 
       { 
        'ctrl+v': keyPressed 
       } 
      }); 

      myKeyboardEvents.activate() 

     }); 
     </script> 
    </head> 
    <body> 
     <form id='myForm'> 
      <input type='text' name='some' id='username' value='[email protected]'/> 
     </form> 
    </body> 
</html> 
+0

不要忘记你复制/粘贴使用CTRL + INS/SHIFT + INS和上下文菜单 - 而你可以捕捉键盘事件,右键单击/粘贴将工作,不确定onpaste – 2010-01-31 01:01:52

+0

尝试$('a').addEvent('paste',function(evt){...}和keyUp事件,并在里面检查if(evt.key =='v'&& evt.control )但在当时都不工作 – rutherford 2010-01-31 12:45:38

+0

添加了HTML和JS代码。 – Zaje 2010-01-31 13:51:05

paste事件已经成为更好的支持在最近的时代:自2000年左右IE有了它(IE 5.5,我想),火狐3.0以来,WebKit几年(不知道确切的时间)。您应尽可能使用它,并在其他情况下回退到检测ctrl-v或移入,或使用计时器轮询输入框的值。