【问题标题】:How to trigger paste event before any keypress/keyup/keydown event如何在任何 keypress/keyup/keydown 事件之前触发粘贴事件
【发布时间】:2016-09-21 09:49:03
【问题描述】:

我有两个文本区域,其 id 为 textareaOne 和 textareaTwo。

我正在使用粘贴事件在 textareaOne 中插入手机号码,并在 textareaTwo 中解析和显示。

另外,我允许用户在 textareaOne 中手动输入电话号码 一旦输入的输入长度为 10,我将显示在 textareaTwo 中。

粘贴:

$('#textareaOne').on('paste', function (event) {
    var pastedInputData = event.originalEvent.clipboardData.getData('text');
    // validation
    $("#textareaTwo").val(pastedInputData );
    }

keyup/keydown/keypress:

    $("#textareaOne").keyup(function(){
       var keycode = (event.keyCode ? event.keyCode : event.which);
       //validation
      $("#textareaTwo").append(enteredInput);
    });

每当我尝试使用不同的浏览器在 textareaOne 中粘贴记录时

CHROME:例外工作。

FIREFOX:触发 keyup 事件而不是 paste 事件。

任何人都可以请提出任何解决方案。

【问题讨论】:

标签: javascript jquery dom


【解决方案1】:

为什么你需要做不同的事情? 可以试试这样的吗?

// Copy text
function copyText() {
  $("#textareaTwo").val($('#textareaOne').val());
}

$('#textareaOne').on('paste', copyText);
$("#textareaOne").keyup(copyText);

【讨论】:

  • 我创建了一个单独的函数来读取输入数据并执行验证并在 textareaTwo 中显示。我的问题是当我在 textareaOne 中粘贴记录时,Itz 调用 keydown 事件并且 textareaOne 中没有粘贴任何内容。
猜你喜欢
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多