input propertychange事件,当input的value值发生改变时触发(文本框的值即时搜索)

   input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化只要当前对象属性发生改变。

  感觉找到了真爱。。。。。但是 onpropertychange 这两个事件在 IE9 中都有个小BUG,

       那就是通过右键菜单菜单中的 剪切 和 删除 命令删除内容的时候不会触发,而 IE 其他版本都是正常的,目前还没有很好的解决方案。


      不过 input & propertychange 仍然是即时搜索比较好的方案


实例代码:

 $("#txt_gsName").bind("input propertychange", function () {
        var gsName = $("#txt_gsName").val(); //公司名称
        $.ajax({
            type: "post",
            url: "/StoreApply/CheckGsName",
            data: { gsName: gsName },
            dataType: "json",
            success: function (data) {
                if (data.statue == true) {
                    alert(data.message);
                    $("#txt_gsName").val("");
                    return false;
                }
            }
        });
    });


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通常情况下,使用 jQuery 的 `.on('input', function() {})` 方法可以监听 input 元素的变化。但是,有些情况下可能会出现监听不到 input 元素变化的情况,可能是以下原因导致的: 1. input 元素不存在或未正确选中:如果没有正确选中 input 元素,或者 input 元素不存在,那么 `.on('input', function() {})` 方法就无法监听到 input 元素的变化。 2. 代码执行顺序问题:如果使用 `.on('input', function() {})` 方法的代码在 input 元素设置的代码之前执行,那么就无法监听到 input 元素的变化。这可以使用 `setTimeout` 函数将监听代码延迟执行,等待 input 元素的设置完成后再执行监听代码。 3. input 元素是动态生成的:如果 input 元素是动态生成的,也就是说在页面加载并不存在,那么使用 `.on('input', function() {})` 方法就无法监听到 input 元素的变化。这可以使用事件委托的方式来监听 input 元素的变化,例如: ```javascript $(document).on('input', 'input', function() { // 处理代码 }); ``` 在上述代码中,我们使用 `$(document).on('input', 'input', function() {})` 方法来监听所有动态生成的 input 元素的变化,通过事件委托的方式来实现。 4. 浏览器兼容性问题:某些浏览器可能不支持 `input` 事件,例如 IE9 及以下版本的浏览器。在这种情况下,可以使用 `propertychange` 事件来代替 `input` 事件,示例代码如下: ```javascript $('input').on('input propertychange', function() { // 处理代码 }); ``` 在上述代码中,我们使用 `.on('input propertychange', function() {})` 方法来绑定 `input` 和 `propertychange` 两个事件,这样就可以兼容不支持 `input` 事件的浏览器了。 综上所述,如果使用 jQuery 的 `.on('input', function() {})` 方法无法监听到 input 元素的变化,可以考虑以上几种情况并针对性地进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值