[英]JavaScript with rails partial
我正在一個網站上工作,但遇到了一個非常奇怪的錯誤,似乎無法弄清。 我有一張桌子,桌子的每一行中都有一列帶有按鈕的列。 單擊該按鈕時,將彈出一個工具提示。 該表是從局部渲染的。 現在,我遇到的問題是,除非頁面上沒有表格中沒有的其他圖標,否則不會彈出表格中圖標的工具提示。 所以這是我渲染部分代碼的代碼(這不會在表格上顯示工具提示):
<div id="mainPage">
...
<section class="fluid">
<%= render "all_page_graphs" %>
</section>
...
</div>
這是部分代碼:
<i class="filter-icon os blue" data-filter-name="GFilter">
<div class="tooltip-container">
<div class="tooltip-tail top"></div>
<div class="tooltip top clearfix center">
None
</div>
</div>
</i>
如果我這樣渲染我的桌子:
<div id="mainPage">
...
<section class="fluid">
<%= render "all_page_graphs" %>
</section>
...
</div>
<i class="filter-icon os blue" data-filter-name="GFilter">
單擊表格中的按鈕時,將顯示工具提示。
我認為我已經將問題隔離在javascript中。 當工具提示在圖表中起作用時,我命中了以下代碼行:
function FilterTooltips(){
"use strict";
if ($(".filter-icon").length == 0)
return;
var openFilter = false;
var $lastFilterOpen = null;
//hit this function when the tool tip works,
//but I don't hit it when the tool tip won't
//load.
$('body').click(function(e) {
//do stuff
}];
我認為問題與$('body')
並且應該在從局部渲染的表中顯示工具提示正在加載的事實。 任何幫助將不勝感激。
代表團
雖然我沒有直接回答您的問題,但我認為問題可能與Javascript委托有關 :
$(document).on("click", ".tooltip-tail top", function(){
...
});
我知道您已經設置好了-我將對其進行優化以使用上述代碼。 區別在於,如果您使用上面的代碼,則本質上是允許您通過文檔/正文將“ click”事件綁定到特定元素
你必須記住,JavaScript的作品與DOM -這意味着它不能告訴如何頁面已經呈現,只知道它有一定的因素。 此外,這些元素需要在load
-如果您目前沒有這些元素,JS將無法綁定到它們
希望它能為您提供更多概述-很抱歉,我無法再提供幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.