1

私はそのようなindex.html.erbを持っています

<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>

だから、私は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」が表示されなくなります。

それらは私がそのようにindex.js.erbを持っています

$("#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 ファイル内のソースだけで問題なく動作する必要はありません。

手伝ってくれてありがとう。

4

2 に答える 2