Ruby's Louvre

每天学习一点点算法

导航

监听文本框输入

Firefox、Chrome、IE9,IE10 均支持 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)、鼠标粘贴时触发。


var input = document.getElementById("test");
function fn() {
  // 你要执行的代码
}

if(window.addEventListener) { //先执行W3C
  input.addEventListener("input", fn, false);
} else {
  input.attachEvent("onpropertychange", fn);

}

if(window.VBArray && window.addEventListener) { //IE9
  input.attachEvent("onkeydown", function() {
    var key = window.event.keyCode;
    (key == 8 || key == 46) && fn();//处理回退与删除

  });
  input.attachEvent("oncut", fn);//处理粘贴
}

posted on 2013-02-17 17:48  司徒正美  阅读(6118)  评论(3编辑  收藏  举报