我有这个代码用于textarea计数。它工作得很好,但是一旦我像下面那样嵌入它,它就不起作用而且不会抛出任何错误。我已经在这上面超过3天了。我会很感激你的帮助。
$("#c_obj").on('keyup', function() {
var words = this.value.match(/\S+/g).length;
if (words > 50) {
// Split the string on first 200 words and rejoin on spaces
var trimmed = $(this).val().split(/\s+/, 50).join(" ");
// Add a space at the end to make sure more typing creates new words
$(this).val(trimmed + " ");
alert("You reached your limit of 50 words.");
}
else {
$('#display_count').text(words);
$('#word_left').text(50-words);
} });
Jquery部分
NOT EXISTS()
答案 0 :(得分:1)
从下面的html元素中,我很确定您正在使用第三方库来创建textarea元素,以便以编程方式获取用户输入。
<p id="c_obj" class="text-info first " data-type="textarea" name="comments2" ...
现在,$('#c_obj').on(..
绑定p
标记上的事件,而不是要检查字数的textarea元素。原因可能是textarea还不存在,或者在用户启动操作后动态创建。
<强>解决方案强>:
在body或parent元素上绑定一个事件,并将keyup
事件委托给目标textarea。
$(".parent-div").on('keyup', 'textarea', function(e) { ...
如果首选,parent-div可以是表单元素或最接近的父元素。
请在此处查看示例代码 - http://codepen.io/chainat/pen/VmmmKg
答案 1 :(得分:0)
ID必须以#
引用$("#c_obj").on('keyup', function() {