在Ctrl + V上捕获文本的任何其他替代方法

时间:2011-11-27 12:46:46

标签: javascript jquery

我正在尝试捕获 Ctrl + V 事件中的文本,如下所示。

  1. 在页面中创建textarea并设置高度0px和宽度0px。如下所示

      <textarea id="a" style="height:0px;width:0px"></textarea>
    
  2. 按下V键我将焦点设置为该textarea然后使用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());
     });
    
  3. 我认为这是一种效率最低的方法,并等待有价值的建议来改善这一点。

2 个答案:

答案 0 :(得分:2)

您可以将事件附加到paste事件。

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

答案 1 :(得分:0)

您可以将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;
    });
});