如何在jQuery中检查粘贴剪贴板中输入的字母increase/decrease

How to check the increase/decrease of letter input in pasting clipboard in jQuery

我可以使用 keyup() 函数来检查我的用户是否在 input 中写了一些东西。 但是,当 剪贴板将 粘贴到那里时,我该怎么办?(使用鼠标,而不是键盘!)

$("#myInput").keyup(function(){
  console.log("increase or decrease now!");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input id="myInput" />

“keyup”事件仅在(完成)键盘输入后触发,这意味着当您用鼠标粘贴内容时它不会触发。您可以改为使用“粘贴”事件,该事件仅在您将内容粘贴到输入字段后触发。但是你可以像这样组合“keyup”和“paste”:

$("#myInput").on("keyup paste", function(){
  console.log("increase or decrease now!");
});

你也可以考虑一下“改变”事件。这仅在输入字段更改并失去焦点后触发。因此,您实际上可以将 keyup paste 替换为 change 或组合所有这三个以确保无论用户如何使用 keyup paste change.[=16= 更改输入字段,它都会被触发。 ]

编辑:请注意 paste 事件在 Internet Explorer <= 10 中不起作用。(https://caniuse.com/mdn-api_window_paste_event)