我的jquery脚本遇到了麻烦。谁想要计算旧推文上的字符数。我正在ReferenceError: $ is not defined
指点
$(function() {
这是我在轨道应用程序上的脚本。
index.hml.erb
<% title "Welcome #{current_user.username}" %>
<script type="text/javascript">
$(function() {
$('#flit_message').keyup(function(){
var content_lenght = $(this).val().length;
var remaining = 140 - content_length
$('#char_count').html(remaining);
})
})
</script>
<%= form_for Flit.new, :html => {:id => 'new_flit_form'} do |f| %>
<h3 style="float: left;">What are you doing?</h3>
<h3 id="char_count" style="float: right;font-size: 23px; font-weight: bold; color: #aaa;">140</h3>
<div class="clear"></div>
<!-- <div id="new_flit_form"> -->
<%=h f.text_area :message %>
<div id="latest_message">
<strong>Latest: </strong><%=h @last_flits.message %>
<%= distance_of_time_in_words_to_now(@last_flits.created_at)%> ago
</div>
<div id="submit_button_container">
<%=h f.submit "update", :class => "button" %>
</div>
<div class="clear"></div>
<!-- </div> -->
<% end %>
<ul id= "flits_list">
<% @flits.each do |flit| %>
<li<% if @flits.first == flit %> class="first"<% end %>>
<%= image_tag flit.user.gravatar_url %>
<div class="flit_message_container">
<%=h link_to flit.user.username %>
<%=h flit.message %>
<div class="time_ago">
<%= distance_of_time_in_words_to_now(flit.created_at)%> ago
</div>
</div>
<div class="clear"></div>
</li>
<% end %>
</ul>
这里是application.js文件
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .
html页面源代码
<!DOCTYPE html>
<html>
<head>
<title>Welcome breanne</title>
<link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/flits.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/home.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/welcome.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/defaults.js" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="JnHvVRrW5Ts6TQf+D35OByvXxEY+Gl6P5NU5dVs8r3o=" name="csrf-token" />
</head>
<body>
<div id="container">
<h1>Welcome breanne</h1>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" >
$(function() {
$('#flit_message').keyup(function(){
var content_lenght = $(this).val().length;
var remaining = 140 - content_length;
$('#char_count').html(remaining);
})
})
</script>
答案 0 :(得分:3)
99%的时间这意味着在本节之前JQuery没有被包含在页面中。你把它包括在哪里?
在头标记
中包含这样的内容<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" />
请参阅:http://jquery.com/download/
您可能想要取消注释该文件中的JQuery行(删除//) 加载页面时,查看源代码并查看是否可以看到jquery包含。如果它不在那里你的申请不适当包括它。