如何使Javascript单词计数器在IE中工作
我是JavaScript新手。我使用JavaScript在表单上设置了一个单词计数器。它在所有浏览器中都非常有效,除了-你猜到了-IE。在IE9和IE11中,计数器都不可靠,整个字段都可能“冻结”,不允许你点击并编辑任何内容 为什么它会闯入IE?如果不能用一种简单的方式修复,那么只有在浏览器不是IE的情况下才有条件地使用脚本吗 以下是该表单的演示: 以及守则:如何使Javascript单词计数器在IE中工作,javascript,jquery,word-count,Javascript,Jquery,Word Count,我是JavaScript新手。我使用JavaScript在表单上设置了一个单词计数器。它在所有浏览器中都非常有效,除了-你猜到了-IE。在IE9和IE11中,计数器都不可靠,整个字段都可能“冻结”,不允许你点击并编辑任何内容 为什么它会闯入IE?如果不能用一种简单的方式修复,那么只有在浏览器不是IE的情况下才有条件地使用脚本吗 以下是该表单的演示: 以及守则: $("#field_advstatement").on('keydown', function(e) { var words =
$("#field_advstatement").on('keydown', function(e) {
var words = $.trim(this.value).length ? this.value.match(/\S+/g).length : 0;
if (words <= 50) {
$('#display_count2').text(words);
$('#word_left2').text(50-words)
}else{
if (e.which !== 8) e.preventDefault();
}
});
$(“#field_advstatement”).on('keydown',函数(e){
var words=$.trim(this.value).length?this.value.match(/\S+//g).length:0;
如果(单词你可以试试这个
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<script>
function countChar(val) {
var len = val.value.length;
if (len >= 50) {
val.value = val.value.substring(0, 50);
} else {
$('#charNum').text(50 - len);
}
};
</script>
</head>
<body>
<textarea id="field" onkeyup="countChar(this)"></textarea>
<div id="charNum"></div>
</body>
</html>
函数countChar(val){
var len=val.value.length;
如果(len>=50){
val.value=val.value.substring(0,50);
}否则{
$('#charNum')。文本(50-len);
}
};
javascriptsplit方法起作用。
试试最新的提琴
希望有帮助:)IE控制台上出现了什么错误?您最好创建一个小测试用例,我们可以在上面的链接中复制issuebtw,field Company声明(50个单词)在Chrome中也不起作用。请尝试输入“eeee”。它总是给出总字数:1个字。剩余字数:49为什么“eeeeeeeeee”不能算作一个字?这是jsfiddle谢谢。我太密集了,不知道如何将其应用到我的代码中-它似乎是在计算字符而不是单词,我不确定如何进行倒计时和倒计时。
$(document).ready(function(){
var countMyWords = function(obj){
var $input = $(obj);
var words = $input.val().trim().split(' ');
$('#display_count2').text(words.length);
$('#word_left2').text(50 - words.length);
}
$('#field_advstatement').on({
keyup
: function(event){
if(event.which == 8){
countMyWords(this);
return true;
}
var len = $(this).val().length;
if (len >= 50) {
event.preventDefault();
}
countMyWords(this);
},
keydown: function(event){
if(event.which == 8){
countMyWords(this);
return true;
}
var len = $(this).val().length;
if (len >= 50) {
event.preventDefault();
}
countMyWords(this);
}
});
});