javascript - 插入 div 时运行脚本

标签 javascript jquery ruby-on-rails-3 jqplot

我有一个使用 jqplot 绘制图形的脚本.它在加载文档时工作正常,使用 jquery 的 .each 方法呈现每个图形。但是,问题出在单击栏时将 div 替换为另一个 div 时。假设在旧图的位置渲染另一个图。它更改图形但不执行脚本。

加载项目的脚本具有将所有 div 更改为图形的功能:

$("div.barchart").each(function(){
    barChart($(this).attr("id"),$(this).attr("data-xmlurl"));
});

是否有另一种方法可以做到这一点,以便在更改 div 时也能正常工作?

更新:

Rails 生成一个运行的脚本。但是,当我有这个时它似乎不起作用:

chart$=$("#<%=params[:chart_id]%>");
chart$.replaceWith("<%=escape_javascript(render :partial=>"chart_partial"}%>");
barChart(chart$.get(0).attr("id"),chart$.get(0).attr("data-xmlurl"));

备注:

作为引用,实际的源代码可以在 jquery_cheats project 中找到

最佳答案

或许您可以在父元素上添加一个监听器?如果多次调用 barChart() 函数是否可以?

也许是这样的:

$("div.barchart").parent().on("DOMSubtreeModified", function(e) {
    // (or maybe use DOMNodeInserted event instead)
    $("div.barchart[id][data-xmlurl]").each(function() {
        barChart($(this).attr("id"),$(this).attr("data-xmlurl"));
    });
});

你可以看看我的jsFiddle为此。

关于javascript - 插入 div 时运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617430/

相关文章:

javascript - 通过一键事件howler js播放多个音频文件

c# - 跨域使用ajax无法传递参数

javascript - 如何从切换按钮是/否获取值(value)并在按钮 Activity 中显示检索数据

ruby-on-rails - 属于一组类

ruby-on-rails-3 - 如何将数组存储到Cookie中?

javascript - 如何在选择日期后关闭日期时间选择器?

javascript - 将函数返回值保存在 const 中是未定义的

ruby-on-rails - 使用相似键加载和生成 Yaml 文件

javascript - 如何使这个示例功能适应Backbone?

javascript - 更新链接文件未与网页连接