D3提示通过ajax加载时不起作用

时间:2016-02-15 16:21:50

标签: javascript ajax d3.js

我使用$ .get通过AJAX加载D3图表。它抓取HTML和脚本标记将其插入页面并运行JS。

除D3 Tip功能外,一切都按预期工作。

有关如何解决此问题的任何想法?

var tip = d3.tip()
    .attr('class', 'd3-tip')
    .offset([-10, 0])
    .html(function(d) {
        return "<b>" + d.value + "</b> - " +  (Math.round( d.count / total * 100)) + "%";
    });

var svg = d3.select("#histogram").append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
    .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

svg.call(tip);

var bar = svg.selectAll(".bar")
    .data(data)
    .enter().append("g")
    .attr("class", "bar")
<?php if($timeline == 'manual') : ?>
    .attr("transform", function(d) { return "translate(" + x(d.value) + ", 0)"; })
<?php else: ?>
    .attr("transform", function(d) { return "translate(" + (x(d.value) - (bar_width / 2)) + ", 0)"; })
<?php endif; ?>
    .on('mouseover', tip.show)
    .on('mouseout', tip.hide);\

注意:我做了一些测试,并且正在调用.on('mouseover')函数,因此它tip.show无法正常工作。

0 个答案:

没有答案