基本概念

Firefox、Chrome、IE9&IE9+ 均支持 oninput 事件,此外所有版本的 IE 均支持 onpropertychange 事件。

oninput 事件在用户输入、退格(backspace)、删除(delete)、剪切(ctrl + x)、粘贴(ctrl + v)及鼠标剪切与粘贴时触发(在 IE9 中只在输入、粘贴、鼠标粘贴时触发)。

onpropertychange 事件在用户输入、退格(backspace)、删除(delete)、剪切(ctrl + x)、粘贴(ctrl + v)及鼠标剪切与粘贴时触发(在 IE9 中只在输入、粘贴、鼠标粘贴时触发)(仅 IE 支持)。

backspace、delete 两个按键的 keyCode 分别为 8、46。

oncut 事件在粘贴(ctrl + v)、鼠标粘贴时触发。

实现代码

 1 function fn () {
 2 
 3 // do something
 4 
 5 }
 6 
 7 if (window.addEventListener) {
 8 
 9 input.addEventListener("input", fn);
10 
11 } else {
12 
13 input.attachEvent("onpropertychange", fn);
14 
15 }
16 
17 if (!!window.attachEvent && navigator.userAgent.match(/msie (\d)/i)[1] > 8) {
18 
19 input.attachEvent("onkeydown", function () {
20 
21 var key = window.event.keyCode;
22 
23 (key == 8 || key == 46) && fn();
24 
25 });
26 
27 input.attachEvent("oncut", fn);
28 
29 }

 

相关文章:

  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2021-11-06
  • 2021-12-19
  • 2021-10-13
  • 2022-12-23
  • 2021-08-04
猜你喜欢
  • 2022-12-23
  • 2022-01-12
  • 2021-08-05
  • 2021-04-05
  • 2021-04-13
  • 2021-12-24
  • 2022-02-02
相关资源
相似解决方案