簡體   English   中英

內聯Javascript無法在Rails 3.1上重新呈現部分ruby

[英]Inline Javascript not working properly on rerendering a partial in ruby on rails 3.1

在我的項目中,部分使用了內聯javascript,其中使用了一些實例變量。 當我們成功執行ajax調用后重新渲染該部分腳本時,該腳本未運行。

您能幫我解決這個問題嗎?

例如

_partial.html.erb

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

在從js.erb文件替換此部分代碼時,scrip標記未運行。

您的頁面已加載。 ready事件是很久以前過去的,現在沒有人在聽。

因此,如果在加載的Ajax腳本中有$(document).ready ,則該代碼將永遠不會執行。

解:

刪除“就緒”事件並直接觸發代碼:

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

在我看來,在ajax成功事件上手動更新DOM后,未觸發ready事件,因此未執行回調函數。

最后,我發現我認為最適合我的要求的答案是將javascript放入js.erb部分,並相應地將其呈現在html.erb和其他js.erb files

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM