Jquery 多事件绑定不适用于动态内容

Jquery 多事件绑定不适用于动态内容,jquery,events,Jquery,Events,我有一个“输入字段组件”,如: 问题在于,它被封装在div中,一旦添加了新的“输入字段组件”,AJAX就会重新呈现该内容。在该操作之后,“聚焦/模糊”方法不再工作 我想通过在(…)上添加“:input”作为上的参数,这是否适用于动态内容?我错过了什么 更新 如果我在({…},“.multi-language-field:input”)上收听$(document.on({…},“.multilanguage-field:input”)它会工作-为什么会这样?:-) jQuery中的事件处理程序在执

我有一个“输入字段组件”,如:

问题在于,它被封装在
div
中,一旦添加了新的“输入字段组件”,AJAX就会重新呈现该内容。在该操作之后,“聚焦/模糊”方法不再工作

我想通过在(…)上添加
“:input”
作为
上的参数,这是否适用于动态内容?我错过了什么

更新


如果我在({…},“.multi-language-field:input”)上收听
$(document.on({…},“.multilanguage-field:input”)
它会工作-为什么会这样?:-)

jQuery中的事件处理程序在执行“on”函数时附加到特定的DOM节点。当删除并重新创建DOM节点时,它将丢失其事件侦听器

改用“实时”功能

$(".multilingual-field").live("focus",
        function() {
            $(this).parents(".multilingual-field").addClass("focus");
        }
);

看来你已经回答了自己的问题。在您的更新中,它是这样工作的,因为这是
on()
函数的作用。您正在将同一事件委托给与
:input
选择器匹配的
文档
的每个子代,这听起来正是您所需要的。您有一个元素具有一个多语言字段的类,该类字段也有父类多语言字段?我相信这就是你的JS所说的,但是你的HTML所说的有些不同。
$(".multilingual-field").on({
        focus: function() {
            $(this).parents(".multilingual-field").addClass("focus");
        },
        blur: function() {
            $(this).parents(".multilingual-field").removeClass("focus");
        }
    }, ":input");
$(".multilingual-field").live("focus",
        function() {
            $(this).parents(".multilingual-field").addClass("focus");
        }
);