jQuery 监听输入框输入(兼容IE8)

因 IE9 以下版本的浏览器不兼容 oninput 事件,所以经常使用 keyup + change 的组合事件来完成,但是体验有所欠缺。

其实 IE 早已有与 oninput 事件相同功能的事件 onpropertychange。

方法封装:

/* 对象级别插件扩展 */
$.fn.extend({
    onInput:function (callback) {
        var el=$(this);
        /* 当前浏览器是否支持 oninput 事件 */
        if("oninput" in el.get(0)){
            el.on("input",function () {
                callback && callback($(this).val());
            });
        }else {
            /* IE独有属性,IE9 以下版本使用 */
            el.on("propertychange",function () {
                callback && callback($(this).val());
            });
        }
    }
});

方法调用:

<!-- HTML -->
<div>
    <input type="text" placeholder="请输入内容" id="on-input">
</div>
<div>
    <span>当前输入内容:</span>
    <span id="input-value"></span>
</div>

<!-- javascript -->
<script type="text/javascript">
    /* 插件调用 */
    $("#on-input").onInput(function (value) {
        $("#input-value").html(value);
    })
</script>

关于更多监听输入事件相关的知识,可阅读地址:https://juejin.im/post/5caea6faf265da038145c338 的这篇文章

作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com

微信公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

更多精彩文章,请扫下方二维码关注我的公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值