【问题标题】:d3.js firefox mouse events perormanced3.js firefox 鼠标事件性能
【发布时间】:2014-10-21 01:03:49
【问题描述】:

例如,我需要通过仅将鼠标悬停在其中一个元素上来选择一组元素。它在Firefox中执行非常慢。 这是示例http://bl.ocks.org/tumoxep/581d939e30361fbe0b44 我希望我在某个地方犯了一个错误。

【问题讨论】:

    标签: javascript firefox svg d3.js


    【解决方案1】:

    嗯,你的演示在 Firefox 中的性能对我来说还可以......我仍然觉得你使用组和鼠标事件的方式很奇怪。当您查看您的 DOM 时,您会看到所有的圆圈都在您的组内。与鼠标事件无关,而是在寻找圆圈的颜色?

    为什么不创建一个由几个圆圈组成的组,然后将鼠标事件应用于该组。

    像这样:

    var svgg = svg.selectAll("g.myGroup")
        .data(myData)
        .enter()
        .append("g");
    
    svgg.each(function (d, i) {
    
        selection = d3.select(this);
        selection.append("circle")
        // ...
    });
    
    svgg.on("mouseover", function(d) {
        // Do what you want here
    });
    

    您可以在此处找到类似的示例:http://jsfiddle.net/77XLD/1/

    我不确定这是否有助于提高性能...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 2021-01-11
      • 2022-01-20
      • 2015-02-25
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      相关资源
      最近更新 更多