Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文档加载时激发Keyup事件_Javascript_Jquery - Fatal编程技术网

Javascript 文档加载时激发Keyup事件

Javascript 文档加载时激发Keyup事件,javascript,jquery,Javascript,Jquery,JSFIDLE html 我需要计算在文本区域中输入的字数,并将其显示在下面的文本框中。我使用keyup事件进行检查,但即使在页面加载时也会触发它。如何修复它删除.keyup()来自您的代码。这会在页面加载时触发keyup事件。会引发keyup事件,因为您触发了一个事件。在处理程序函数声明之后删除.keyup(): $("#feedback").keyup(function() { var value = $(this).val(); alert(value) $("#

JSFIDLE

html


我需要计算在文本区域中输入的字数,并将其显示在下面的文本框中。我使用keyup事件进行检查,但即使在页面加载时也会触发它。如何修复它

删除
.keyup()来自您的代码。这会在页面加载时触发keyup事件。

会引发
keyup
事件,因为您触发了一个事件。在处理程序函数声明之后删除
.keyup()

$("#feedback").keyup(function() {
    var value = $(this).val();
    alert(value)
    $("#lenbox").val(value);
})

因为你有
.keyup()在JQuery语句的末尾。

如果您不介意使用HTML5,只需将其删除即可使用占位符属性

<textarea id="feedback" rows="4" cols="50" name="comment" maxlength="50"  placeholder="Enter text here..."></textarea>

您不应再次触发按键。此外,您应该将更新值的代码移到keyUp函数之外,这样您也可以在页面加载时触发代码。完成后,只需取一个字符串,在空格上拆分并计算单词:

var calculateCount = function() {
  var value = $('#feedback').val();
  var count = value.split(" ").length;
  $( "#lenbox" ).val( count );
};

$(document).ready(function(){
  $("#feedback").keyup(calculateCount);
  calculateCount();
})

首先,删除前面已经指出的
.keyup()
然后,使用
input
而不是
keyup
,这样我也可以捕获粘贴的文本。 最后,使用
split
方法和
length
属性计算字数

$(document).ready(function(){  
    $( "#feedback" ).on('input',function() {            
        $( "#lenbox" ).val( this.value.split(' ').length );
    });    
});

当用户按下enter键时,您希望发生这种情况吗?他也在尝试计算单词。仅仅删除keyup()并不能解决他的问题。
var calculateCount = function() {
  var value = $('#feedback').val();
  var count = value.split(" ").length;
  $( "#lenbox" ).val( count );
};

$(document).ready(function(){
  $("#feedback").keyup(calculateCount);
  calculateCount();
})
$(document).ready(function(){  
    $( "#feedback" ).on('input',function() {            
        $( "#lenbox" ).val( this.value.split(' ').length );
    });    
});