我有一个 jquery token tagit 插件,我想绑定到 paste 事件以正确添加项目。
我可以像这样绑定到 paste 事件:
.bind("paste", paste_input)
...
function paste_input(e) {
console.log(e)
return false;
}
如何获取实际粘贴的内容值?
我有一个 jquery token tagit 插件,我想绑定到 paste 事件以正确添加项目。
我可以像这样绑定到 paste 事件:
.bind("paste", paste_input)
...
function paste_input(e) {
console.log(e)
return false;
}
如何获取实际粘贴的内容值?
有一个适用于现代浏览器的 onpaste 事件。您可以使用对象getData
上的函数访问粘贴的数据clipboardData
。
$("#textareaid").bind("paste", function(e){
// access the clipboard using the api
var pastedData = e.originalEvent.clipboardData.getData('text');
alert(pastedData);
} );
请注意,从 jQuery 3 开始不推荐使用bind和unbind。首选调用是on。
所有现代浏览器都支持剪贴板 API。
另请参阅:在 Jquery 如何处理粘贴?
这个怎么样:http : //jsfiddle.net/5bNx4/
.on
如果您使用的是 jq1.7 等,请使用。
行为:当您paste
在第一个 textarea 上键入任何内容或任何内容时,下面的 textarea 会捕获更改。
休息我希望它有助于事业。 :)
有用的链接 =>
你如何处理 jQuery 中的 oncut、oncopy 和 onpaste?
编辑:其中的
事件列表.on()
应以空格分隔。参考 https://api.jquery.com/on/
代码
$(document).ready(function() {
var $editor = $('#editor');
var $clipboard = $('<textarea />').insertAfter($editor);
if(!document.execCommand('StyleWithCSS', false, false)) {
document.execCommand('UseCSS', false, true);
}
$editor.on('paste keydown', function() {
var $self = $(this);
setTimeout(function(){
var $content = $self.html();
$clipboard.val($content);
},100);
});
});
我最近需要完成类似的事情。我使用以下设计来访问粘贴元素和值。jsFiddle 演示
$('body').on('paste', 'input, textarea', function (e)
{
setTimeout(function ()
{
//currentTarget added in jQuery 1.3
alert($(e.currentTarget).val());
//do stuff
},0);
});
另一种方法:该input
事件也将捕获该paste
事件。
$('textarea').bind('input', function () {
setTimeout(function () {
console.log('input event handled including paste event');
}, 0);
});
$(document).ready(function() {
$("#editor").bind('paste', function (e){
$(e.target).keyup(getInput);
});
function getInput(e){
var inputText = $(e.target).html(); /*$(e.target).val();*/
alert(inputText);
$(e.target).unbind('keyup');
}
});