繁体   English   中英

如何使IE中的Javascript Word Counter工作

[英]How to make Javascript Word Counter work in IE

我是JavaScript新手。 我使用JavaScript在表单上设置了字计数器。 它在所有浏览器中都很好用,除了-您猜到了-IE。 在IE9和IE11中,计数器都不可靠,并且整个字段都可能“冻结”,并且不允许您单击它并编辑任何内容。

为什么会在IE中中断? 并且,如果无法通过简单的方式修复该脚本,是否只有在浏览器不是IE的情况下,才可以有条件地使用该脚本?

这是该表格的演示: http : //nzensandbox.wpmakeover.com/

和代码:

$("#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();
    }
});

你可以试试这个

<!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>

javascript split方法可以解决问题。 尝试更新的小提琴, 请单击此处

    $(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);
        }
    });
    });

希望能帮助到你 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM