4

我有一个 java 脚本函数,允许我在 application.js 中拖动 div

  $(function() {
    $( ".draggable" ).draggable();
  });

在我的索引文件中,我有一堆带有可拖动类的 div,

    <head>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    </head>

<div class="draggable">    
  <p><strong>Title:</strong>
  <%= task.title %></p>
  <p> <%= link_to 'Show', task, :class => 'text' %>
</div>

此外,每个 div 也有一个显示选项,可以让我转到另一个页面,其他页面有一个后退按钮,可以让我回到我的索引页面。

<%= link_to 'Back', tasks_url, :class => 'text' %>

但是当我回到那个页面时,我不能再拖动 div。如果我刷新页面,我可以再次拖动 div。

这是我不知道的管道问题吗?

4

3 回答 3

4

正如比利所提到的,听起来像 Turbolinks,这是 Rails 4 中的一项新功能。查看这个关于如何使用Turbolinks 或将其关闭的答案!

于 2013-10-06T03:00:50.777 回答
2

而不是这个:

$(function() {
  $( ".draggable" ).draggable();
}); 

尝试这个:

var ready = function() {             
    $( ".draggable" ).draggable();           
};                                   
$(document).ready(ready);            
$(document).on('page:load', ready);

在此处遵循参考:RailsCasts Turbolinks

于 2014-12-09T14:15:52.230 回答
0

听起来像是application.js被缓存了,因此在返回后不会再次执行。尝试将初始化可拖动的js放入页面本身,它应该仍然执行。

于 2013-10-06T01:32:12.143 回答