javascript - jQuery keyup 事件只触发一次

标签 javascript jquery html css

<分区>

为什么这个 jQuery 事件只触发一次?

$(document).on('keyup', '[data-behavior="oneliner-text-area"]', function (event) {
  var textLength = $(this).length;
  var textLengthLimit = 140;
  $('[data-behavior="oneliner-counter"]').html(textLengthLimit - textLength);
  if ((textLengthLimit - textLength) < 0) {
    $('[data-behavior="oneliner-counter').addClass('oneliner-count-warning');
  }
});

最佳答案

您计算的不是文本字段的文本长度,而是元素的数量,它始终为 1,因此您将始终得到 139。

$(document).on('keyup', '[data-behavior="oneliner-text-area"]', function (event) {
  var textLength = $(this).val().length; // Here is a change
  var textLengthLimit = 140;
  $('[data-behavior="oneliner-counter"]').html(textLengthLimit - textLength);
  if ((textLengthLimit - textLength) < 0) {
    $('[data-behavior="oneliner-counter').addClass('oneliner-count-warning');
  }
});

关于javascript - jQuery keyup 事件只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38027255/

相关文章:

javascript - 我如何存储以某种方式保存的 javascript 数组对象,以便我以后可以使用它

javascript - 设置iframe的内容

HTML 表格交错单元格合并

javascript - 如何显示外部站点但保留应用程序标题

python - 如何通过 gmail-api for python 发送 HTML 格式的电子邮件

javascript - 我想知道如何只激活表单提交,而不是在 jquery 中获取 ajax url 的值?

javascript - 使用 Jquery 以正确的格式构建 JSON

javascript - 如何在aws lambda函数中使用setInterval

javascript - jquery ajax问题。 .done() 函数中的奇怪行为

javascript - 当包含元素有滚动条时如何正确网格?