jquery – 将JavaScript显示添加到主页以从140个字符倒数. (Rails教程,第2版,第10章,练习7)

这个练习有点棘手.想到我会发布我的解决方案,看看是否有人做了不同的,或者有谁知道一个更好的方法.

我不确定使用Asset Pipline的最佳做法..例如,正确的顺序将事情放在application.js清单文件中,或何时将内容放在lib与应用程序中.我只是在lib中放入以下内容来尝试让它工作.

Michael Hartl’s Rails Tutorial 2nd ed
第10章练习7:

(具有挑战性)将JavaScript显示添加到主页以从140个字符倒数.

首先,我读了这个post about jQuery Twitter-like countdowns,它提供了代码来做到这一点.

接下来,我更新了app / views / shared / _micropost_form.html.erb,看起来像这样:

<%= form_for(@micropost) do |f| %>
    <%= render 'shared/error_messages',object: f.object %>
    <div class="field">
        <%= f.text_area :content,placeholder: "Compose new micropost..." %>
    </div>
    <%= f.submit "Post",class: "btn btn-large btn-primary" %>
    <span class="countdown"></span>

<% end %>

然后,我在lib中创建了一个javascripts目录并添加文件

LIB /资产/ JavaScript的/ microposts.js

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

jQuery(document).ready(function($) {
    updateCountdown();
    $('#micropost_content').change(updateCountdown);
    $('#micropost_content').keyup(updateCountdown);
});

最后,我添加了一点点CSS

应用程序/资产/样式表/ custom.css.scss

/* micropost jQuery countdown */

.countdown {
  display: inline;
  padding-left: 30px;
  color: $grayLight;
}

最后,添加指令到app / assets / javascripts / application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require microposts
//= require_tree .

最终结果看起来像这样
http://grab.by/dbC6

题:
将清单行放在// = require_tree之后是错误的.

例如,这是有用的,但我不知道有什么区别,而不是添加树上面的行.

//= require jquery
 //= require jquery_ujs
 //= require bootstrap
 //= require_tree .
 //= require microposts

解决方法

我认为 my solution posted here in SO与你的不同,现在我可以谦虚地把它当作答案.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值
jQuery如何清空form表单数据
jQuery怎么删除元素节点
JQuery怎么循环输出数组元素
jquery怎么实现点击刷新当前页面
怎么用jquery实现文字左右展开收缩效果
jquery怎么删除html属性
如何用jquery实现图片翻转效果
jquery怎么删除样式属性
jquery如何获取当前元素的位置
如何用jquery实现点击展开收缩效果
jquery怎么实现点击隐藏显示效果
jQuery如何获取当前页面url
jQuery怎么获取鼠标的位置坐标
简洁易懂的jQuery:HTML表单与jQuery