javascript - 如何使用 "input propertychange"事件捕获鼠标复制粘贴

标签 javascript textarea jquery

我想捕获文本区域中发生的更改(键盘输入,以及复制和粘贴),对于我使用的键盘输入选项:

$("textarea").keyup(function(){
   // ajax call here
});

我添加这个是为了捕获鼠标粘贴或剪切然后在文本区域触发 keyup 事件:

$("textarea").on('input propertychange', function() {
    $(this).trigger(keyup);
});

这里的问题是,如果我按下键盘上的一个键,我会收到 2 个 ajax 调用,因为第二个函数也捕获 keyup 事件。

有没有办法阻止 $("textarea").on('input propertychange'... 检测到按键?

最佳答案

为什么不测试这个简化?当我测试您的代码时,没有成功检测到“input propertychange”事件中的 keyup。

你忽略了 keyup 事件:

//$("textarea").keyup(function(){
//// ajax call here
//});

并且只捕获这个(用这个做ajax调用):

$("textarea").on('input propertychange', function() {
  //$(this).trigger(keyup);
  // do ajax call here
});

后者只忽略部分控制键,即无相应字符输入的键。

关于javascript - 如何使用 "input propertychange"事件捕获鼠标复制粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20024603/

相关文章:

html - 向文本区域添加填充会将元素推到 div 之外

html - Textarea CSS IE7 和 "enter key"创建行内空间

javascript - 为什么dojo.number.format在不同的浏览器中返回不同的结果?

javascript - 在移动视口(viewport)上隐藏一个居中的标志

jquery - 文本区域的自动完成功能

javascript - 如果使用 jquery ajax 验证器返回 true,则提交表单

javascript - 2 复选框,当两者都检查时提供新的 div

jquery - 表中的 BlockUI - 不工作

javascript - 如何读取node.js目录中的文件?

JavaScript 大小写错误