Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带rails的JavaScript部分_Javascript_Html_Ruby On Rails - Fatal编程技术网

带rails的JavaScript部分

带rails的JavaScript部分,javascript,html,ruby-on-rails,Javascript,Html,Ruby On Rails,我在一个网站上工作,我有一个非常奇怪的错误,我似乎无法弄清楚。我有一个表格,表格的每一行都有一列,列上有一个按钮。单击按钮时,将弹出一个工具提示。这张表是从一个局部视图渲染的。现在我遇到的问题是,除非网页上有一个额外的图标不在表格中,否则工具提示不会针对表格中的图标弹出。下面是我渲染部分的代码(这不会在表上显示工具提示): 我认为这个问题与$('body')有关,而且工具提示正在加载的事实应该显示在从局部视图渲染的表中。任何帮助都将不胜感激 授权 虽然我无法直接回答您的问题,但我认为问题可能与以

我在一个网站上工作,我有一个非常奇怪的错误,我似乎无法弄清楚。我有一个表格,表格的每一行都有一列,列上有一个按钮。单击按钮时,将弹出一个工具提示。这张表是从一个局部视图渲染的。现在我遇到的问题是,除非网页上有一个额外的图标不在表格中,否则工具提示不会针对表格中的图标弹出。下面是我渲染部分的代码(这不会在表上显示工具提示):


我认为这个问题与
$('body')
有关,而且工具提示正在加载的事实应该显示在从局部视图渲染的表中。任何帮助都将不胜感激

授权

虽然我无法直接回答您的问题,但我认为问题可能与以下方面有关:

我知道你已经有了这个设置-我会改进它以使用上面的代码。区别在于,如果使用上述代码,它本质上允许您通过文档/正文将“click”事件绑定到特定元素

您必须记住,Javascript使用的是-这意味着它不能告诉页面是如何呈现的,只能告诉它有某些元素。此外,这些元素需要在加载时出现—如果此时没有这些元素,JS将无法绑定到它们

希望这能给你一些更多的概述-我很抱歉,我不能帮助进一步

请尝试
$(document.body)。改为单击
<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">
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
  }];
$(document).on("click", ".tooltip-tail top", function(){
    ...
});