我正在创建一个jQuery函数来计算文本字段中的字符数并输出数字。但它似乎没有被要求发布密钥。包含文本字段的页面是包含在index.php
中的外部页面,js
包含在外部js
文件中。
$('#commentField').keyup(function () {
alert("functionCalled");
var max = 500;
var len = $(this).val().length;
if (len >= max) {
$('#charNum').html(' you have reached the limit');
} else {
var char = max - len;
$('#charNum').text(char + ' characters left');
}
});
文字区域:
<input type="text" name="commentArea" placeholder="Comment..." autofocus="autofocus" id="commentField"/>
要填充的div
:
<div id="charNum">here</div>
外部js
文件正在访问正常,但似乎没有调用该函数。为什么这不起作用?
答案 0 :(得分:4)
如果是动态内容,则需要调用.on。但是,我会将'body'改为更接近dom中元素的东西。
$('body').on('keyup','#commentField',function () {
alert("functionCalled");
var max = 500;
var len = $(this).val().length;
if (len >= max) {
$('#charNum').html(' you have reached the limit');
} else {
var char = max - len;
$('#charNum').text(char + ' characters left');
}
});
答案 1 :(得分:2)
答案 2 :(得分:1)
您的事件处理程序是否在文档就绪函数内?
$(function () {
//put your code here
});
接下来,在您的事件绑定时,您的输入是否存在于页面上?换句话说,你的元素是动态添加的吗?如果是这样,请尝试事件委派。