我有两个函数:一个函数创建一个新的 <textarea>
当单击按钮时,第二个函数在 <textarea>
时执行操作被单击(或模糊、更改等)。第二个函数根据类名选择元素。看来第二个函数仅适用于加载页面时存在的那些匹配元素,但它不会在任何新创建的<textarea>
上激活。元素。谁能弄清楚为什么以及如何解决这个问题?您将找到下面的代码。谢谢。 —— jack
$('#add').click(function() {
$(this).before("<textarea class='test'></textarea>")
})
$('.test').blur(function () {
alert('just a test')
})
最佳答案
当 jQuery 将操作分配给用 .test 类标记的元素时,您创建的文本区域并不存在。您将需要 live() 函数来使其按预期工作。
$('.test').live('blur', function () {
alert('just a test')
});
现在,任何标记为 .test 的元素都会自动在模糊时绑定(bind)指定的函数,无论它何时创建。
关于javascript - jQuery 问题 : functions won't work on newly created HTML element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158592/