当前位置: 首页 > 面试题库 >

同时将文本从一个文本区域写入另一个文本区域

桂丰
2023-03-14
问题内容

假设我有两个文本区域…

文字区1

<textarea class="one"></textarea>

文字区2

<textarea class="two">Hi There.</textarea>

我希望能够从在文本区域2中键入的文本之后的文本中添加文本。例如:如果我写“我的名字叫乔”。在textarea中,它会同时复制并写“我的名字叫乔”。在现有的“
Hi There”之后的两个文本区域中。文本。

结果将是…

<textarea class="2">Hi There. My name is Joe.</textarea>

我可以使用jQuery还是需要使用AJAX这样做?我将如何去做?


问题答案:

绑定到keyup事件时,您会注意到延迟。通常绑定到keydown事件时,文本区域的值尚未更改,因此,在确定keydown事件期间按下的键之前,您无法更新第二个文本区域的值。对我们来说幸运的是,我们可以使用String.fromCharCode()将新按下的键附加到第二个文本区域。这样做是为了使第二文本区域快速更新而没有任何滞后:

$('.one').on('keydown', function(event){
    var key = String.fromCharCode(event.which);
    if (!event.shiftKey) {
        key = key.toLowerCase();
    }
    $('.two').val( $(this).val() + key );
});​

这是一个演示:http :
//jsfiddle.net/agz9Y/2/

这将使第二个文本区域具有与第一个文本区域相同的内容,如果您想将第一个文本区域附加到第二个文本区域,则只需将第一个文本区域的值添加到第二个文本区域即可,而不是覆盖:

$('.one').on('keydown', function(event){
    var key = String.fromCharCode(event.which);
    if (!event.shiftKey) {
        key = key.toLowerCase();
    }
    $('.two').val( $('.two').val() + $(this).val() + key );
});​

这是一个演示:http :
//jsfiddle.net/agz9Y/3/

您可以对此进行一些更改,以便.two元素记住其自己的值:

$('.one').on('keydown', function(event){
    var key = String.fromCharCode(event.which);
    if (!event.shiftKey) {
        key = key.toLowerCase();
    }

    //notice the value for the second textarea starts with it's data attribute
    $('.two').val( $('.two').data('val') + ' -- ' + $(this).val() + key );
});

//set the `data-val` attribute for the second textarea
$('.two').data('val', '').on('focus', function () {

    //when this textarea is focused, return its value to the remembered data-attribute
    this.value = $(this).data('val');
}).on('change', function () {

    //when this textarea's value is changed, set it's data-attribute to save the new value
    //and update the textarea with the value of the first one
    $(this).data('val', this.value);
    this.value = this.value + ' -- ' + $('.one').val();
});​


 类似资料:
  • 我有两个表单,我想从form1中获取text box1的值并将其显示为form2中text box2的值。我还希望text box2中的文本以相同的形式(form2)出现在text box3中,但是当我运行程序时,这些值不会显示在text box3上。我希望你明白逻辑,因为它真的很混乱,我不能再简单了。这是我正在尝试做的代码: 我想获取textbox2的值并将其显示在textbox3上(两者都在同

  • 问题内容: 首先,我对Java非常基础。我正在尝试浏览.txt文件并将其内容加载到文本区域。我已经完成了该部分,直到从JFileChooser接收文件为止,现在我不知道如何做其余的工作。 问题答案: 使用所有Swing文本组件都支持的read(…)和write(…)方法。简单的例子:

  • 如何将一个文本的值追加到另一个文本文件中的特定位置? One.txt Second.txt 需要将second.txt中的one.txt值放置在{}中提到的名称所在的位置。 输出:

  • 如何将用户键入的文本拼写检查到TextArea? 这个JavaFX组件可以做到这一点吗? 我可以使用标准拼写检查从JavaJavaFX?

  • 问题内容: 我希望文本区域中的几个单词/阶段以不同的颜色显示…我该怎么做?下面是一个示例,我希望绿色一词出现绿色等,等等。 问题答案: 你不能做到这 _里面_一个,没有一个是编辑。听起来您好像在追求一种所见即所得的编辑器,其中大多数使用a来做到这一点。

  • 问题内容: 我想在输入文本字段的同时更新我的​​文本区域,但是在输入时我延迟了1次击键,即当我按下一个键时,会显示上一个键。这是我的代码段 问题答案: 我不建议使用 只需在您的via中添加一个: 里面每个方法(,和)只需要一个电话设置你的文字通过: 这是我做的一个例子: