我开始使用优秀的D3.js数据可视化库(http://mbostock.github.com/d3/)。
结果在Firefox和Chrome中运行良好,但在IE中则不然。一个问题似乎是D3的this.style.setProperty和this.style.removeProperty被大量使用,IE无法识别。
我想知道是否有人知道变通方法或垫片或其他一些? (我的JavaScript很差,BTW)。
答案 0 :(得分:1)
当你想要改变风格时,我一直在使用同样的错误来解决它,你可以使用以下模式来解决它。
element.style("property", "value");
值必须始终一个字符串。否则你会在IE9中得到一个奇怪的字符错误,因为它只能处理字符串。
我用D3JS 3.2.8测试了它。
答案 1 :(得分:0)
.classed('class',true / false)怎么样?它在IE9中运行得非常好:
function mouseOver(d, i) {
var element = d3.select(this);
var alreadyHasClass = element.classed('className'); // boolean
element.classed('cssClass', !alreadyHasClass); // set/remove class
}
顺便说一下,添加/删除元素的类比向“样式”附加信息更快。
答案 2 :(得分:0)
我相信最新版本2.1.3解决了这个问题。看一看。