jQuery问题:函数不适用于新创建的HTML元素

jak*_*ake 0 html javascript jquery jquery-selectors

我有两个函数:一个<textarea>在单击按钮时创建一个新函数,另一个函数在<textarea>单击(或模糊,更改等)时执行操作.第二个函数根据类名选择元素.似乎第二个函数仅适用于加载页面时存在的匹配元素,但它不会在任何新创建的<textarea>元素上激活.谁能弄清楚为什么以及如何解决这个问题?你会在下面找到代码.谢谢.--Jake

$('#add').click(function() {
    $(this).before("<textarea class='test'></textarea>")
})

$('.test').blur(function () {
    alert('just a test')
})
Run Code Online (Sandbox Code Playgroud)

Sur*_*ams 5

你创建的textarea当时jQuery将动作分配给用.test类标记的元素.您需要live()函数才能使其按需工作.

$('.test').live('blur', function () {
    alert('just a test')
});
Run Code Online (Sandbox Code Playgroud)

现在,任何标记为.test的元素都会在模糊时自动绑定指定的函数,无论它何时创建.