Javascript jquery粘贴到输入中-如果多次执行,则会出现错误
我用这样的东西来捕捉粘贴到输入框中的东西Javascript jquery粘贴到输入中-如果多次执行,则会出现错误,javascript,jquery,Javascript,Jquery,我用这样的东西来捕捉粘贴到输入框中的东西 $(".inputTextArea").bind('paste', function(e) { var el = $(this); setTimeout(function() { var text = $(el).val(); alert(text); }, 100); }); 这很好,但是如果我复制一些其他文本,删除字段的内容并粘贴新复制的文本,那么它只显示以前粘
$(".inputTextArea").bind('paste', function(e) {
var el = $(this);
setTimeout(function() {
var text = $(el).val();
alert(text);
}, 100);
});
这很好,但是如果我复制一些其他文本,删除字段的内容并粘贴新复制的文本,那么它只显示以前粘贴的文本
我怎样才能解决这个问题?我想你需要这样的东西 或者您可以尝试实现这里描述的方法
它使用与剪贴板的直接交互。在Chrome 17中对我来说似乎很好:对我来说很好页面上的其他一些功能可能会更新值?如果突出显示文本,然后在突出显示的文本上单击“粘贴”如何?好的,我已经在另一台pc上尝试过了…它可以工作。我觉得我的机器上有什么东西影响了这一切
$(".inputTextArea").bind('paste', function(e) {
var el = $(this), range = getSelectionRange(el.get(0));
setTimeout(function() {
var text = el.val().substr(range[0], el.val().length - range[1]
- range[0]);
alert(text);
}, 100);
});
function getSelectionRange(el) {
if ('selectionStart' in el) {
return [el.selectionStart, el.value.length - el.selectionEnd];
} else if (document.selection) {
var range = document.selection.createRange(),
stored_range = range.duplicate();
stored_range.moveToElementText(el);
stored_range.setEndPoint('EndToEnd', range);
return [stored_range.text.length - range.text.length,
el.value.length - (el.selectionStart + range.text.length)];
}
return null; // modify it any way for unsupported browsers
}