Skip to content

Bug IE: Flotr.DOM.node : use removeChild to detach the element from the DIV, and prevent to be removed when div.innerHTML is called #300

@Kobee1203

Description

@Kobee1203

I try to define my own legend container.

But in IE, when the following lines is called, the created table is empty :

if(legend.container){
  table = D.node(table);
  this.legend.markup = table;
  D.insert(legend.container, table);
}

The problem comes from the D.node function (Flotr.DOM.node) that retrieves the DOM element (variable n) after adding it to a DIV.
However, when the line DIV.innerHTML = ''; is called, the element 'n' is emptied.

One solution would be to detach the element from the DIV using removeChild:

node: function(html) {
    var div = Flotr.DOM.create('div'), n;
    div.innerHTML = html;
    /* FIX : IE: use removeChild to detach the element from the DIV, and prevent to be removed when div.innerHTML is called */
    n = div.removeChild(div.children[0]);
    div.innerHTML = '';
    return n;
  }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions