当用户单击按钮写评论时,我有一个带有评论系统的网站,我在文档中附加了文本区域,以便他写评论并保存。我想向此textarea添加一个charachters计数器,但是当添加jQuery代码时,没有任何反应,它使我对任何按键或按键均无响应。我的代码是:
$(document).ready(function(){
var limitnum = 120; // set your int limit for max number of characters
$('.comment_area').keyup(function(){alert('test');
limits($(this), limitnum);
});
});
附加的textarea代码:
$("#section_bar").after('<p id="counter"><span>0</span> characters</p><textarea rows="4" cols="50" id="" class="comment_area" name="reply_area" ></textarea><a class="comment button small black" href="#!" id="reply_'+match_id+'"><span>save comment</span></a>');
我想知道为什么keyup或keyes oes不能正常工作,这与在创建和加载DOM时我没有textarea的事实有关(因为我在那之后附加了它)?
您需要使用事件委托,因为您不能以这种方式将事件处理程序附加到最初呈现DOM时不存在的元素上。
您可以这样做,就像这样:
$('#section_bar').on('keyup','.comment_area',function() {
// Code here
});
这应该会有所帮助:了解事件委托
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句