我花了一整天时间试图弄清楚我的代码发生了什么,并且不是很远。
如果您在Firefox中查看以下链接,则一切都符合预期;
Firefox中的行为是将鼠标悬停在黄点上会突出显示日期标题下方列表中的时间。
然而,在Chrome中,某些东西似乎非常破碎。我永远不会得到最后一个要强调的内容,而其他时间的突出显示感觉并不正确 - 有时会遗留任何文物,有时会突出显示两次。
我是否因使用foreignObject
而遇到麻烦?我应该以某种方式使用svg将时间画到屏幕上吗?
代码的mouseOver部分如下,但是查看jsfiddle是了解正在发生的事情的唯一真实方法。
.on("mouseover", function(d){
d3.select(this).style('fill', 'black');
$('.highlighted').removeClass('highlighted');
var id = 'readinglog' + new Date(d).getTime();
$(document.getElementById(id)).addClass('highlighted');
})
.on("mouseout", function(d){
d3.select(this).style('fill', 'orange');
var id = 'readinglog' + new Date(d).getTime();
$(document.getElementById(id)).removeClass('highlighted');
})