2010-01-30 101 views
0

我想在用戶使用mootools事件系統將數據粘貼到文本輸入字段時捕獲數據。有沒有辦法在mootools中捕獲x瀏覽器粘貼事件?

任何人都有這方面的經驗?

+0

我不知道mootools,但在所有現代瀏覽器中都有一個'onpaste'事件。 – 2010-01-30 19:07:01

+0

下面是對類似問題的解答。 http://stackoverflow.com/questions/2130275 – Mic 2010-01-30 20:26:50

回答

0

只要按下'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

1

paste事件已經成爲更好的支持在最近的時代:自2000年左右IE有了它(IE 5.5,我想),火狐3.0以來,WebKit幾年(不知道確切的時間)。您應儘可能使用它,並在其他情況下回退到檢測ctrl-v或移入,或使用計時器輪詢輸入框的值。

相關問題