ブートストラップモーダルセットアップがあり、それに応じて各モーダルにコンテンツを動的に追加するJQueryがあります。すべて正常に動作します。
しかし、私が理解できないグリッチが1つあります。したがって、この場合、属性link
が存在せず、モーダルウィンドウ(ウィンドウ1と呼びます)を開いた場合、それは空白です-完璧です。しかし、link
属性が存在するモーダルウィンドウ(ウィンドウ2)をクリックして開き、リンクがない同じ前のウィンドウ(ウィンドウ1)をクリックして戻ると、リンクが表示されます-そしてそれが表示するリンクウィンドウ2からです。
私はコンソールをチェックインしましたが、それlink.present?
はfalse
-ですから、JQueryをリセットする必要があるか、離れた後に何かが関係しているように感じ.hover
ます。
誰か考えはありますか?
JQuery
$(".media").hover(function(){
var thisLink = $(this).find(".media-link").html();
$("#media-modal-link").html(thisLink);
});
HTML(index.html.erb)
<% @media.each_slice(2).with_index do |(p,q), i| %>
<% if p.link.present? %>
<p class="media-link"> <%= link_to "Read More", p.link, target: "_blank" %></p>
<% end %>
<% if q.link.present? %>
<p class="media-link"> <%= link_to "Read More", q.link, target: "_blank" %></p>
<% end %>
_modal.html.erb
<div id="media-modal-link">
</div>
ここで答えが見つかりました:https://stackoverflow.com/a/26864048/5551783
$("#media_modal").on("hidden.bs.modal", function() {
$("#media-modal-link").html("");
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加