我有这个功能,它假设计算帖子中的字符数,并将新帖子附加到列表中。
的标记:
<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();
});
......仍然没有。