CoffeeScript代码仅在按主页菜单后才能使用

时间:2016-08-11 07:05:30

标签: ruby-on-rails coffeescript

我正在使用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

1 个答案:

答案 0 :(得分:0)

最后我得到了原因:将js代码放在元素定义之后,这意味着DOM就绪回调,这里是在CoffeeScript中准备好的JQuery DOM

$ ->
    console.log("DOM is ready")