监听文本框输入(input & textarea)
监听文本框输入(input & textarea)
Magnus马格纳斯 发表于2年前
监听文本框输入(input & textarea)
  • 发表于 2年前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

基本概念

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前端开发


共有 人打赏支持
粉丝 0
博文 13
码字总数 1467
×
Magnus马格纳斯
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: