Любая другая альтернатива захвату текста в Ctrl + V

Я пытаюсь захватить текст в событии Ctrl + V, как показано ниже.

  • Создание текстового поля на странице и установка высоты 0px и ширины 0px. как ниже

      <textarea id="a" style="height:0px;width:0px"></textarea>
    
  • При нажатии клавиши V я устанавливаю фокус на это текстовое поле, а затем с помощью клавиши Ctrl + V. Как ниже..

     shortcut.add("X",function() {
      $('#a').focus();
     });
     // In between user have to press Ctrl+V to paste the content
     shortcut.add("V",function() {
      alert($('#a').val());
     });
    

Я считаю это самым неэффективным подходом и ожиданием ценных предложений по улучшению этого.

Ответ 1

Вы можете присоединить события к событию paste.

$('textarea').bind('paste', function() {
   // Hello, Mr. Paste!
});

Ответ 2

Вы можете захватить CTRL + V как:

$(document).ready(function()
{
    var ctrlDown = false;
    var ctrlKey = 17, vKey = 86;

    $(document).keydown(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = true;
    }).keyup(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = false;
    });

    $("textarea").keydown(function(e)
    {
        if (ctrlDown && (e.keyCode == vKey)) return false;
    });
});