Javascript 在Ctrl+;v
我正在尝试捕获Ctrl+V事件中的文本,如下所示Javascript 在Ctrl+;v,javascript,jquery,Javascript,Jquery,我正在尝试捕获Ctrl+V事件中的文本,如下所示 在页面中创建文本区域并设置高度0px和宽度0px。如下 <textarea id="a" style="height:0px;width:0px"></textarea> 我认为这是一种最低效的方法,正在等待有价值的建议来改进 您可以将事件附加到粘贴事件 $('textarea').bind('paste', function() { // Hello, Mr. Paste! }); 您可以将CTRL+V捕
<textarea id="a" style="height:0px;width:0px"></textarea>
我认为这是一种最低效的方法,正在等待有价值的建议来改进 您可以将事件附加到
粘贴事件
$('textarea').bind('paste', function() {
// Hello, Mr. Paste!
});
您可以将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;
});
});
$(文档).ready(函数()
{
var ctrlDown=false;
var ctrlKey=17,vKey=86;
$(文档).keydown(函数(e)
{
如果(e.keyCode==ctrlKey)ctrlDown=true;
}).keyup(功能(e)
{
如果(e.keyCode==ctrlKey)ctrlDown=false;
});
$(“文本区域”).keydown(函数(e)
{
如果(ctrlDown&(e.keyCode==vKey))返回false;
});
});
它叫谷歌。恐怕没有真正的替代方法了。@意识:我认为你没有正确阅读这个问题:OP想要捕获粘贴的文本,这通常不可能使用粘贴事件。我有一个shortcut.js文件可以动态捕获Ctrl+V操作。。这不是我的问题,不是这个问题的答案,而是我的答案。谢谢在粘贴事件中,我无法捕获粘贴的文本。。与$(this).val()类似,它返回null/以前粘贴的文本。您可以在每次更改字符串时将其更新为变量,如果是粘贴事件,则比较字符串
$(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;
});
});