У меня есть пара вопросов по загрузке javascript после вызова ajax.Javascript и Ajax Calls
Так что я использую рубины на рельсах, и у меня разные страницы, загруженные через 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 %>
Вот функция I cardSize Загрузка в файле под названием cardSize.js
$(document).ready(function cardSize() {
var cardWidth = $('.card-image').width();
$('.card-image').css({
'height': cardWidth + 'px'
});
});
Awesome d_ethier. Я должен был подумать об этом. Спасибо, что указали это! И спасибо за укороченный код. Теперь мои файлы выглядят намного чище! –