我正在使用Rails 5.我有home_controller
的索引操作和root 'home#index'
。 index.html.erb上有一个按钮,我想按下这个按钮调用一些js代码(弹出窗口)。
但我的咖啡脚本代码仅在按主页菜单后调用。所以我想知道/
和home#index
是不同的?谢谢你的帮助。
application.html.erb
<nav>
<li><%= link_to "Home", "/"%></li>
</nav>
index.html.erb
<button id="myBtn">Open Modal</button>
<div id="myModal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<p>Some text in the Modal..</p>
</div>
</div>
<%= render :partial => 'stories/stories' %>
home.coffee
modal = document.getElementById('myModal');
btn = document.getElementById("myBtn");
span = document.getElementsByClassName("close")[0];
btn.onclick = ->
modal.style.display = "block"
span.onclick = ->
modal.style.display = "none"
window.onclick = (event) ->
modal.style.display = "none" if event.target == modal
答案 0 :(得分:0)
最后我得到了原因:将js代码放在元素定义之后,这意味着DOM就绪回调,这里是在CoffeeScript中准备好的JQuery DOM
$ ->
console.log("DOM is ready")