我有幾個關於在ajax調用後加載javascript的問題。Javascript和Ajax調用
因此,我在rails上使用ruby,並通過ajax調用加載了不同的頁面(我這樣做是因爲我有一個音頻播放器,我希望在頁面重新加載時繼續播放)。
問題是,當我用ajax更改頁面時,javascript不會重新加載(或工作)在新頁面上。
例如,我有一個網格系統,它根據javascript的寬度設置網格圖像的高度。除非我重新加載頁面,否則腳本不起作用,或者我將腳本放在html文件底部的腳本標記中。
有什麼方法可以重新加載JavaScript?我試過location.reload(),但只是刷新頁面,並擊敗了整個目的。謝謝!
下面是一個例子:
show.js.erb
$('#results').html("<%= escape_javascript(render partial: 'songs/showcard', locals: { song: @song }) %>");
songs_controller
def show
respond_to do |format|
format.js
format.html
end
end
鏈接顯示頁
<%= link_to song, remote: true do %><%= song.title %><% end %>
這裏是cardSize功能我正在加載一個文件名爲cardSize.js
$(document).ready(function cardSize() {
var cardWidth = $('.card-image').width();
$('.card-image').css({
'height': cardWidth + 'px'
});
});
太棒了d_ethier。我應該想到這一點。謝謝你指出!並感謝你縮短的代碼。我的文件現在看起來很乾淨! –