如何在具有特定文本的文本区域中手动触发粘贴事件
How to manually trigger a paste event in a text area with specific text
我试图用jQuery触发textarea
中的粘贴事件,但这个主题对我来说很新。
我已经看到了如何手动触发一个keydown事件,模拟按下一个特定的键,像这样:
var e = $.Event("keydown")
e.which = 50
$('#textarea1').trigger(e)
但是我如何用提供的文本字符串手动触发粘贴事件,有效地模拟Ctrl+V或右键单击>粘贴字符串,如"Foobar"?
我试图简单地设置textarea的值,但这并没有触发粘贴事件。
编辑:我也试过这个(模拟Ctrl+V),但没有运气(ref):
e = $.Event("keydown");
e.which = 86; // 'V' key
e.ctrlKey = true;
$("input").trigger(e);
我知道这是个老问题,但你的思路是对的。
要使用jQuery手动触发Paste事件,需要使用 Paste 事件类型,例如:
const e = $.Event('paste');
$('#textarea').val('some text').trigger(e);
或:
$('#textarea').val('some text').trigger('paste');
您可以尝试以下解决方案:
$('body').on('paste',function(e) {
e.preventDefault();
var text = (e.originalEvent || e).clipboardData.getData('text/plain');
alert(text);
});
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 是否<asp:文本框>有一个onFocusLost事件
- 手柄'img'单击事件并插入'alt'使用jQuery将属性转换为文本框
- IE8更改文本区域上的事件侦听器不工作
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 替代输入:基于按钮点击事件的文本更改处理程序
- 使用Javascript代码在文本框上激发退格事件
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 我可以使用jqgrid的oncellselect事件根据单元格内容将文本颜色更改为蓝色吗
- 我需要使用kineticjs点击事件以任何所需的角度旋转画布中的文本
- EventSource 的响应具有非“文本/事件流”的 MIME 类型(“文本/纯文本”)
- 如何将值从文本框传递到自身事件
- angularjs 使用什么事件从文本输入中获取值
- 如何在按键事件发生后获取文本光标的位置
- 如何使asp文本框的按键事件
- 在onkeyup事件中未检测到文本区域更改
- 将指针事件限制为SVG文本填充
- 在单击事件上从所有类获取文本
- 关于使用Jquery创建的文本事件
- 使用DOM更新时不会触发输入文本事件