我有以下函数来计算用户在textarea中输入的字符数:
$("textarea").keyup(function() {
var max = 500;
var length = $(this).val().length;
var char = max - length;
if (length > max) {
$(this).parent().find('.counter span').html('<div class="text-error">' + char + '</div>');
} else {
$(this).parent().find('.counter span').text(char);
}
});
如果我向页面引入新的DOM,则上述功能对新引入的textarea不起作用。如何使其与新DOM一起使用?
感谢。
答案 0 :(得分:6)
答案 1 :(得分:2)
MattDiamant的答案对你的情况有好处,但我想补充一下Copy-Paste的情况。
如果用户从另一个word文档复制并使用仅鼠标(右键单击 - &gt;粘贴)将其粘贴到keyarea中,则不会触发该keyup。
所以,除了'keyup'之外,我建议你添加事件'input','propertychange',这样你的on
函数将是:
$("body").on('keyup input propertychange', 'textarea', function() { ... });