如何在具有特定文本的文本区域中手动触发粘贴事件

Sub*_*its 7 javascript jquery events paste

我正在尝试textarea使用 jQuery在 a 中触发粘贴事件,但这个主题对我来说很新。

我已经看到如何手动触发 keydown 事件模拟按下特定键,如下所示:

var e = $.Event("keydown")
e.which = 50
$('#textarea1').trigger(e)
Run Code Online (Sandbox Code Playgroud)

但是,如何使用提供的文本字符串手动触发粘贴事件,该字符串有效地模拟 Ctrl+V 或右键单击 > 粘贴像“Foobar”这样的字符串?

我试图简单地设置 textarea 的值,但这不会触发粘贴事件。

编辑:

我也试过这个(模拟 Ctrl+V)但没有运气(ref):

e = $.Event("keydown");        
e.which = 86; // 'V' key
e.ctrlKey = true;
$("input").trigger(e);
Run Code Online (Sandbox Code Playgroud)

Vla*_*mir -6

您可以尝试以下解决方案:

$('body').on('paste',function(e) {
    e.preventDefault();
    var text = (e.originalEvent || e).clipboardData.getData('text/plain');
    alert(text);
});
Run Code Online (Sandbox Code Playgroud)