在RubyonRails 3.1中,内联Javascript在重新提交部分时无法正常工作

在RubyonRails 3.1中,内联Javascript在重新提交部分时无法正常工作,javascript,jquery,ruby-on-rails,ruby-on-rails-3.1,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3.1,在我的项目中,我们在一个部分中使用了内联javascript,该部分使用了一些实例变量。当我们在成功的ajax调用后重新提交该部分时,脚本没有运行 你能帮我解决那个问题吗 例如 _partial.html.erb <div class="someclass"></div> <script> $(document).ready(function(){ $(".someclass").hide(); }); </scrip

在我的项目中,我们在一个部分中使用了内联javascript,该部分使用了一些实例变量。当我们在成功的ajax调用后重新提交该部分时,脚本没有运行

你能帮我解决那个问题吗

例如

_partial.html.erb

 <div class="someclass"></div>
 <script>
    $(document).ready(function(){
       $(".someclass").hide();
    });
 </script>

$(文档).ready(函数(){
$(“.someclass”).hide();
});

从js.erb文件中替换此部分时,scrip标记未运行。

在ajax成功事件上手动更新DOM后,似乎未触发ready事件,因此未执行回调函数。

您的页面已加载。
ready
事件很久以前就通过了,现在没有人在听

因此,如果在Ajax加载的脚本中有
$(document).ready
,代码将永远不会执行

解决方案:

删除“就绪”事件并直接触发代码:

 <div class="someclass"></div>
 <script>
   $(".someclass").hide();
 </script>

$(“.someclass”).hide();

最后,我找到了一个我认为非常适合我需求的答案,那就是将javascript放入
js.erb
部分,并相应地在
html.erb
和其他
js.erb文件中进行渲染,以获得响应,但它仍然不起作用。我们在脚本中使用的另一个插件是draggable,
$('.someclass').draggable()它第一次运行,但不是在重新提交分部后运行。我使用的是实例变量,所以我无法将此代码移动到公共js中file@abhas,如果使用Rails生成代码,请检查html是否正确传递(不是转义的html和js)。