【发布时间】:2016-07-06 15:51:17
【问题描述】:
我有几个关于在 ajax 调用后加载 javascript 的问题。
所以我在 Rails 上使用 ruby,并且通过 ajax 调用加载了不同的页面(我这样做是因为我有一个音频播放器,我想在页面重新加载时继续播放)。
问题是,当我使用 ajax 更改页面时,javascript 不会在新页面上重新加载(或工作)。
例如,我有一个网格系统,它使用 javascript 根据宽度设置网格图像的高度。除非我重新加载页面或将脚本放在 html 文件底部的脚本标记中,否则该脚本不起作用。
有没有办法重新加载javascript?我试过 location.reload() 但这只是刷新页面并破坏了整个目的。谢谢!
这是一个例子:
show.js.erb
$('#results').html("<%= escape_javascript(render partial: 'songs/showcard', locals: { song: @song }) %>");
歌曲控制器
def show
respond_to do |format|
format.js
format.html
end
end
显示页面的链接
<%= link_to song, remote: true do %><%= song.title %><% end %>
这是我正在加载一个名为 cardSize.js 的文件中的 cardSize 函数
$(document).ready(function cardSize () {
var cardWidth = $('.card-image').width();
$('.card-image').css({
'height': cardWidth + 'px'
});
});
【问题讨论】:
标签: javascript jquery html ruby-on-rails ajax