У меня есть программа ruby on rails, которая отображает флэш-сообщение в макете приложения следующим образом:
<% if flash[:notice] %>
<p id="notice">
<span id="notice-button-left">[-]</span>
<%= flash[:notice] %>
<span id="notice-button-right">[-]</span>
</p>
<% end %>
и при нажатии <spans>
# примечание-кнопка-слева и # уведомление-кнопка-правильно, я хочу, чтобы <p>
исчез, поэтому я добавил код:
document.getElementById("notice-button-right").addEventListener("click", function(){
document.getElementById("notice").style.display = "none";
});
document.getElementById("notice-button-left").addEventListener("click", function(){
document.getElementById("notice").style.display = "none";
});
в тег <script>
и бросил его в макет application.html.erb.Это сработало отлично.Однако когда я вынул тег <script>
и бросил js в файл .js в папке app / assets / javascripts, он перестал работать.При проверке браузера он, похоже, находит файл js, но js просто не работает.
Примечание 1: у меня есть другой скрипт, который работает
Примечание 2: У меня есть turbolinksвыключено
Мне бы хотелось, чтобы скрипт работал, а уведомление исчезло при нажатии на пролеты.