同时粘贴到多个文本框中

Pasting into several textboxes simultaneously

本文关键字:文本      更新时间:2023-09-26

我为Firefox创建了一个javascript插件,它可以操作剪贴板并将特定文本粘贴到网页上的任何文本框中。在这个网页上,我有几个具有相同ID的文本框。

现在我需要同时将文本粘贴到所有这些文本框中。例如,如果我将内容粘贴到第一个(或任何其他)文本框中,它将自动粘贴到所有其他文本框中。

我在网上找不到任何这样的例子或经历。所以,我很乐意提供任何建议/解决方案。

几个文本框?考虑到所有内容都是<input type="text" />,您可以使用:

// Select all the textboxes.
textBoxes = document.querySelectorAll("input:text");
// Iterate each of them.
for (i in textBoxes) {
  // Add a value for each.
  textBoxes[i].value = '';
}

您可以对每个输入应用一个类。

    <input class="myClass" type="text" id="selector">
    <input class="myClass" class="" type="text" id="selector">
    <input class="myClass" type="text" id="selector">
    <input class="myClass" type="text" id="selector">
   $('input').keyup(function () {
        var key = this.value;
        $('.myClass').val(key);
    });

JSFiddle: http://jsfiddle.net/o8308q48/

这适用于Firefox。

对于每个粘贴事件,我们将每个输入的值设置为this。值(这指的是粘贴事件发生的地方)

var inputs = document.querySelectorAll('input, textarea');
for (var i = 0; i < inputs.length;i++){ 
    inputs[i].addEventListener("paste", function(){
        for (var j = 0; j < inputs.length;j++)
            inputs[j].value = this.value;
    }, false);
}

你也可以使用keyup事件和控制当"控制键",或"命令"在osx中,与"V"同时按下,但它会避免当你做右键点击并点击"粘贴"在上下文菜单。使用事件粘贴,您可以同时覆盖两个方向。