基本概念
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)、鼠标粘贴时触发。
function fn () {
// do something
}
if (window.addEventListener) {
input.addEventListener("input", fn);
} else {
input.attachEvent("onpropertychange", fn);
}
if (!!window.attachEvent && navigator.userAgent.match(/msie (\d)/i)[1] > 8) {
input.attachEvent("onkeydown", function () {
var key = window.event.keyCode;
(key == 8 || key == 46) && fn();
});
input.attachEvent("oncut", fn);
}
转自: http://www.web92.net/760.html | WEB前端开发