input内容变化的实时监听

         我们页面中经常需要监听input输入框的value值的变化,常用事件一般有onblur、onchange、oninput、onpropertychange。

但是实际使用中这些事件并不能满足要求,onblur、onchange事件都需要失去焦点后才能触发,而且onchange事件经常触发延迟,有时候达不到想要的效果。

onpropertychange事件能监非自定义属性值的变化,只能通过在html中定义onpropertychange或者通过attachEvent(“onpropertychange”,function(){})来添加;但是IE11不支持attachEvent方法了,而且html中直接定义onpropertychange也无效。只有IE10及以下才支持。而且IE9中有shan删除内容时不会触发。

oninput事件监听input的value属性值的变化,倒是能实时监听,E9及以上版本、EDGE、Google、火狐、都zh支持;但是必须通过鼠标、键盘触发,js改变value不能触发。

有一种兼容性写法示例是:

<input id="myInput" name="name" value="">

$('#myInput').bind('input propertychange', function() {
    alert($('#myInput').val());
});

这样一次绑定两个事件,但是测试还是执行的oninput事件,只能通过鼠标、键盘触发。

onpropertychange事件说明的文档也没找到。

如果谁有好的实时监听方法,欢迎分享释疑!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值