在完成 Railstutorial(第 10 章)的练习时,我使用 Jquery 来计算 Textarea 中的剩余字符。它实际上有效,但仅当我每次登录至少刷新一次页面时。这意味着查询不会执行,直到每次登录后刷新一次页面并且在它完美运行之后刷新一次。我已将 css 用于 .countdown 方法。
所以,我的问题是..为什么需要我刷新页面才能看到页面上的剩余字符,还有一些更好的方法。有人可以建议我这里发生了什么吗?
CSS代码
.countdown {
display: inline;
padding-left: 10px;
color: #338333;
}
这是 micropost.js.coffee 的代码
updateCountdown = ->
remaining = 140 - jQuery("#micropost_content").val().length
jQuery(".countdown").text remaining + " characters remaining"
jQuery ->
updateCountdown()
$("#micropost_content").change updateCountdown
$("#micropost_content").keyup updateCountdown
这是 _micropost_form.html.erb 的内容
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Maximum characters: 140" %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<span class="countdown"></span>
<% end %>
这是我登录并转到主页时的图像(不刷新页面)
这是我登录时的图像,转到主页并刷新页面