我有這樣的Rails的渲染Ajax錯誤
<div id="carte_items">
<ul id="nav">
<li id="category_14" class="category-group">
<p class="category">Pizzas tradicionais</p>
<ul class="tags">
<li>
<div class="links" style="display: none;">
<a href="#" data-method="delete" data-remote="true" rel="nofollow">
<i class="icon-trash icon-white"></i>
</a>
<a href="#" data-remote="true">
<i class="icon-pencil icon-white"></i>
</a>
</div>
Pizza X
</li>
<li>
<div class="links" style="display: none;">
<a href="#" data-method="delete" data-remote="true" rel="nofollow">
<i class="icon-trash icon-white"></i>
</a>
<a href="#" data-remote="true">
<i class="icon-pencil icon-white"></i>
</a>
</div>
Pizza X
</li>
</ul>
</li>
</ul>
</div>
所以一個index.html.erb,我已經在我的products.js.coffee
$("ul.tags li").on('mouseover',() ->
$(this).find('.links').show()
).on('mouseout',() ->
$(this).find('.links').hide()
)
當我訪問了第一次我的index.html.erb一切正常。但是對於像我第一次訪問時那樣的鏈接,我必須將products.js.coffee中的源複製到index.js.erb下面。就像我使用我的搜索一樣,使用Ajax進行搜索,如果我不像以下那樣複製源代碼,「.links」不再顯示。
他們我都像
$("#carte_items").html("<%= j(render 'carte_items') %>");
$("ul.tags li").on('mouseover', function() {
return $(this).find('.links').show();
}).on('mouseout', function() {
return $(this).find('.links').hide();
});
的index.js.erb的爲什麼要複製源?它不必很好地處理文件products.js.coffee中的源文件,而無需複製到index.js.erb?
感謝您的幫助。
嘗試使用'live'函數來綁定具有事件處理函數的元素...看看http://api.jquery.com/live/ – bernabas 2013-04-22 21:11:31
嗨,jquery 1.9版本中的「live」已被刪除。這在版本1.7上貶低了,就像您在鏈接中看到的那樣,您發佈了我。但是,謝謝。任何更多的幫助再次發送給我 – 2013-04-22 22:15:56
您是否嘗試'委託'而不是'開'? – cortex 2013-04-23 17:29:19