根据Felix提供的代码,我为字符计数脚本创建了一个html页面。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" language="javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
(function($) {
$.fn.charlimit = function(options) {
var def = {
limit: 250,
display: null
};
$.extend(def, options);
var $display = $(def.display);
$display.html(def.limit);
this.bind('change keyup', function() {
var l = $(this).val().length;
$display.html(def.limit - l);
if (l > def.limit) {
$(this).val(function(i, value) {
return value.substring(0, def.limit);
});
$display.html(def.limit - $(this).val().length);
}
});
return this;
};
}(jQuery));
//Plugin Call
$('#message').charlimit({
limit: 10,
display: '#charCount'
});
});
</script>
</head>
<body>
<textarea name="message" id="message" tabindex="4" rows="4" cols="35"></textarea>
<p class="character_limit">Character limit: <span id="charCount"></span></p>
</body>
</html>
我面临的问题是......当字符数变为0并且我按下另一个键时... charcount将显示-60并且函数(i,value){.....}进入textarea。
请检查。
由于 LOkesh Yadav
答案 0 :(得分:0)
使用函数声明似乎有一个小的语法不准确...奇怪,这是有效的,但也许这是正常的......
函数声明的最后一行是:
};
}(jQuery));
但应该是:
};
})(jQuery);
编辑虽然我在Firefox中没有收到错误,但似乎工作正常,所以这可能不是罪魁祸首。