【问题标题】:Any other alternative to capturing text on Ctrl+V在 Ctrl+V 上捕获文本的任何其他替代方法
【发布时间】:2011-11-27 12:46:46
【问题描述】:

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

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

      <textarea id="a" style="height:0px;width:0px"></textarea>
    
  2. 按下 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());
     });
    

我认为这是一种效率最低的方法,正在等待有价值的建议来改进它..

【问题讨论】:

标签: javascript jquery


【解决方案1】:

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

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

【讨论】:

  • 在粘贴事件中,我无法捕获粘贴的文本。就像 $(this).val() 返回 null/以前粘贴的文本。
  • 您可以在每次更改字符串时将其更新为变量,如果是粘贴事件,请比较字符串
【解决方案2】:

您可以将 CTRL + V 捕获为:

$(文档).ready(函数() { var ctrlDown = 假; var ctrlKey = 17, vKey = 86; $(文档).keydown(函数(e) { if (e.keyCode == ctrlKey) ctrlDown = true; }).keyup(函数(e) { if (e.keyCode == ctrlKey) ctrlDown = false; }); $("textarea").keydown(函数(e) { if (ctrlDown && (e.keyCode == vKey)) 返回 false; }); });

【讨论】:

  • 我有快捷方式.js 文件来实时捕获 Ctrl+V 操作。这不是我的问题
  • 不是这个问题的答案,但它回答了我的问题。谢谢。 stackoverflow.com/a/8760097/388902
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多