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