【问题标题】:how to prevent spaces from being counted at the start of a keyup in the text area with jquery?如何使用jquery防止在文本区域中的keyup开始时计算空格?
【发布时间】:2021-03-26 11:23:21
【问题描述】:

像twitter一样,当textarea为空且只输入空格时,不计算空格,但输入第一个字母后,才计算空格。

在这个脚本中,即使只输入了空格,计数也会运行。

那么如何防止在键位开始时计算空格?

function updateCountdown() {
    // 140 is the max message length
    var remaining = 140 - $('.message').val().length;
    $('.countdown').text(remaining + ' characters remaining.');
}

$(document).ready(function($) {
    updateCountdown();
    $('.message').change(updateCountdown);
    $('.message').keyup(updateCountdown);
});

【问题讨论】:

    标签: jquery string-length keyup


    【解决方案1】:

    您可以使用密钥代码。

    首先你必须改变你的 keyup 事件触发器。

    $('.message').keyup((e) => updateCountdown(e));
    

    然后在函数中添加这样的语句:

    function updateCountdown(e) {
       if(e.keyCode == 32){
          //user pressed space key.
       }
       // 140 is the max message length
       var remaining = 140 - $('.message').val().length;
       $('.countdown').text(remaining + ' characters remaining.');
       }
    

    您也可以使用trim 来避免第一个和最后一个空格字符。

    【讨论】:

      【解决方案2】:

      您需要修剪字符串。所以而不是:

      $(".message").val().length
      

      您会想要以下内容:

      $(".message").val().trim().length
      

      修剪去除字符串前后的所有空格,因此主要内容就是返回的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-02
        • 2016-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        • 1970-01-01
        相关资源
        最近更新 更多