jQuery不是';即使它';s加载到Rails 4应用程序中(加载jquery.turbolinks)
我有一个rails应用程序,当点击链接时,jQuery不会在页面上启动,尽管它应该启动。我希望发生的是,如果单击了链接,那么警报消息就会消失,AJAX响应会发送给控制器。我已经为单击的链接关闭了turbolinks,并加载了jquery.turbolinks,这应该解决了这个链接的问题(过去也有)。我使用的是RubyonRails4。欢迎有任何见解 在jQuery不是';即使它';s加载到Rails 4应用程序中(加载jquery.turbolinks),jquery,html,ruby-on-rails,ajax,haml,Jquery,Html,Ruby On Rails,Ajax,Haml,我有一个rails应用程序,当点击链接时,jQuery不会在页面上启动,尽管它应该启动。我希望发生的是,如果单击了链接,那么警报消息就会消失,AJAX响应会发送给控制器。我已经为单击的链接关闭了turbolinks,并加载了jquery.turbolinks,这应该解决了这个链接的问题(过去也有)。我使用的是RubyonRails4。欢迎有任何见解 在视图中的index.html.haml文件中,我有 = link_to "To be added", "#", :class => "lev
视图中的index.html.haml文件中,我有
= link_to "To be added", "#", :class => "levelup", 'data-no-turbolink' => true
现在,在我的javascripts
文件夹中的application.js
文件中,我加载了以下行:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require_tree .
stats\u uploader.js
文件位于javascripts
文件夹中,该文件可能会执行警报和ajax文件,其中包含以下内容:
$('.levelup').click(function() {
alert("Yeah");
var level = $('.playerlevel').text();
alert(level); //Pat
level++;
alert(level); //Pat
$.ajax({type: "GET",
url: $(this).attr("href"),
dataType: "script",
data: level ,
error: function() {
alert("AJAX failed");
},
success: function() {
alert("Success");
}
});
});
当我在页面上查看source时,我会得到这些相关的行,它们表示stats_uploader表单已经加载,以及应用于元素的适当类
<script data-turbolinks-track="true" src="/assets/jquery.turbolinks.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/turbolinks.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/stats_uploader.js?body=1"></script>
...
...
...
...
<div class='container'>
yessir
Player Level
<div class='playerlevel'>
1
</div>
<!-- TODO Make Buttons to click on -->
<a class="levelup" data-no-turbolink="true" href="#">To be added</a>
</div>
...
...
...
...
耶塞尔
玩家级别
1.
如果页面的结构如图所示,那么问题可能是您试图将单击处理程序连接到页面中尚不存在的链接上。您需要将您的单击设置包装到$(文档)中。就绪功能:
$( document ).ready(function() {
$('.levelup').click(function() { ... });
});
或简称:
$(function() {
$('.levelup').click(function() { ... });
});
嘿,谢谢你。这昨天不起作用,但今天起作用了,所以我想证据就在布丁里。谢谢