当用户单击按钮写评论时,我有一个带有评论系统的网站,我在文档中附加了文本区域,以便他写评论并保存。
我想向此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
});
这应该有所帮助:Understanding Event Delegation
关于javascript - 按键和按键不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22857173/