Javascript 如何使用;“输入属性更改”;要捕获的事件只需通过鼠标复制和过去

Javascript 如何使用;“输入属性更改”;要捕获的事件只需通过鼠标复制和过去,javascript,textarea,jquery,Javascript,Textarea,Jquery,我想捕获textarea中发生的更改(keyup,以及copy&pass),对于我使用的keyup选项: $("textarea").keyup(function(){ // ajax call here }); 我将此添加到通过鼠标捕捉粘贴或剪切,然后在textarea上触发keyup事件: $("textarea").on('input propertychange', function() { $(this).trigger(keyup); }); 这里的问题是,如果我按

我想捕获textarea中发生的更改(keyup,以及copy&pass),对于我使用的keyup选项:

$("textarea").keyup(function(){
   // ajax call here
});
我将此添加到通过鼠标捕捉粘贴或剪切,然后在textarea上触发keyup事件:

$("textarea").on('input propertychange', function() {
    $(this).trigger(keyup);
});
这里的问题是,如果我按下键盘上的一个键,我会得到两个ajax调用,因为第二个函数捕获也会发生keyup事件


有没有办法防止('input Property Change'…上的
$(“textarea”).on检测到按键?

为什么不测试这种简化?因为我测试了您的代码,但在“input Property Change”事件中检测到按键未成功

忽略键控事件: 并仅捕获此项(使用此项执行ajax调用):
后者只忽略一些控制键,即没有相应字符输入的键。

经过研究,我在这里找到了一个解决方案:


我认为这是防止在我的情况下两次调用事件的最佳解决方案

为什么不使用第二个函数?!@TamerShlash因为第二个事件在所有浏览器中都不起作用我发现在iOS11中使用“input Property Change”,当我删除最多5个字符时,它将在光标和最后一个字母之间显示一些空格。
//$("textarea").keyup(function(){
//// ajax call here
//});
$("textarea").on('input propertychange', function() {
  //$(this).trigger(keyup);
  // do ajax call here
});