Action.on('模糊')不't处理输入文本-jQuery 1.9+

Action .on('blur') doesn't work on input text - jQuery 1.9+

本文关键字:文本 输入 -jQuery 处理 on 模糊 Action      更新时间:2023-11-25

我用最新的jQuery版本(1.9.1)更新了我的应用程序。根据发布的更新,.live()方法已停止使用,并从1.9+jQuery版本中删除。新资源现在是.on(),具有相同的语法。

早些时候,我写了下面的jQuery代码:

jQuery("#addressTypes ul li input[type=text]").live('blur', function () {
    var item = {
        addressType: jQuery("#addressTypes ul input[type=text]").val(),
        idAddressType: jQuery("#addressTypes ul input[type=text]").parent().attr("id")
    }
    submitUpdateAddressType(item);
});

此代码适用于旧版本,但已停止使用jQuery更新。

有人能帮我吗?请记住,由于业务问题,无法更改项目jQuery("#addressTypes ul li input[type=text]")

jQuery(document).on('blur', "#addressTypes ul li input[type=text]", function () { });

对于静态元素,您可以简单地将单词live替换为on

在动态创建元素的情况下,您需要使用采用三个参数的on()版本:

$(StaticContainer).on('event', 'selector', function() { });

请参阅文档中有关直接事件和委派事件的部分。

最简单的解决方案是:

jQuery(document).on('blur', "#addressTypes ul li input[type=text]", function () {

尽管通常最好找到一个尽可能靠近目标元素的静态容器(而不是document