动态监听输入框值的变化

我们有时会需要动态监听输入框值的变化,当使用onkeydown、onkeypress、onkeyup作为监听事件时,会发现一些复制粘贴等操作用不了。专业的解决方案:HTML5标准事件oninput、onchange和IE专属的事件properchange。

1oninput和propertychange事件

input是标准的浏览器事件,一般应用于input元素,当输入框的值发生改变时触发该事件,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化,重点是oninput是在值改变时立即触发
propertychange:功能同oninput,用以替代oninput在IE9以下的不兼容性。

2onchange事件

onchange是在值改变后失去焦点才触发,并且可以用在非输入框中,如:select等。

3最佳方案

input和propertychange一起使用

    $(".order_discount_item input[type='number']").on("input propertychange", function () {

        var modify = false;
        var value = $(this).val().toString();
        var inputName = $(this).attr("name");
        // 全部虚拟货币只能输入挣整数
        if ((value.length > 0 && /^[1-9]\d{0,6}$/.test(value) == false)) {
            value = value.substr(0, value.length - 1);
            $(this).val(value);
            return;
        } else if (value.length > 0 && /^[0-9]{0,6}\.?[0-9]{0,2}$/.test(value) == false) {
            value = value.substr(0, value.length - 1);
            $(this).val(value);
            return;
        }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容