jQuery JavaScript - 无法调用函数

时间:2015-10-17 22:52:10

标签: javascript jquery

我有这个功能,它假设计算帖子中的字符数,并将新帖子附加到列表中。
标记:

<div class="new-comment">
  <form>
    <div class="form-group">
      <textarea rows="3" placeholder="What's on your mind?" class="form-control status-box"></textarea>
    </div>
  </form>
  <div class="button-group pull-right">
    <p class="counter">140</p><a ng-click="post = post + 1" ng-init="post=0" class="btn btn-primary">Post</a>
  </div>
  <ul class="posts"></ul>
</div>

和js:

var posts = function() {
  $('.btn').click(function() {
    var post = $('.status-box').val();
    $('<li>').text(post).prependTo('.posts');
    $('.status-box').val('');
    $('.counter').text('140');
    $('.btn').addClass('disabled'); 
  });

  $('.status-box').keyup(function() {
    var postLength = $(this).val().length;
    var charactersLeft = 140 - postLength;
    $('.counter').text(charactersLeft);

    if(charactersLeft < 0) {
      $('.btn').addClass('disabled'); 
    }
    else if(charactersLeft == 140) {
      $('.btn').addClass('disabled');
    }
    else {
      $('.btn').removeClass('disabled');
    }
  });

  $('.btn').addClass('disabled');
}

$(window).load(posts);

现在这个版本DOESN&#39; T工作。与$(document).ready(posts);相同整个函数就在那里,控制台中没有错误,没有。

这就是我感到困惑的地方,因为如果我这样说的话:

$(document).ready(function(){

    var posts = function() {
      $('.btn').click(function() {
        var post = $('.status-box').val();
        $('<li>').text(post).prependTo('.posts');
        $('.status-box').val('');
        $('.counter').text('140');
        $('.btn').addClass('disabled'); 
      });

      $('.status-box').keyup(function() {
        var postLength = $(this).val().length;
        var charactersLeft = 140 - postLength;
        $('.counter').text(charactersLeft);

        if(charactersLeft < 0) {
          $('.btn').addClass('disabled'); 
        }
        else if(charactersLeft == 140) {
          $('.btn').addClass('disabled');
        }
        else {
          $('.btn').removeClass('disabled');
        }
      });

      $('.btn').addClass('disabled');
    }

  $(window).scroll(function() {
      posts();
  });

  posts();

});

..它的作品!但它依赖于滚动。我无法忍受这种依赖。并没有其他工作。就像我尝试通过以下方式调用它一样:

  $(window).load(function() {
      posts();
  });

......仍然没有。

0 个答案:

没有答案