基于条件 d3.js 的工具提示可见性
Tooltip visibility based on condition d3.js
我需要仅在选中复选框值时在移动悬停时显示图表节点的工具提示。否则它不应该显示。
我尝试了如下代码。但是它不起作用。
.on('mouseover', function (d) {
if(document.getElementById("chkEnableDisableNames").checked == true){
d.show ;
}
else {
return null;
}})
注意:我将参考您的 jsFiddle 示例,因为其中的代码与您在问题中发布的代码片段不同。
代码有几个问题:
1) 您正在使用自定义函数 showhidefunc()
来调节提示的显示。该函数在您的悬停事件范围之外,因此不会继承它的局部变量,因此您需要通过参数传入它:
.on('mouseover', function(d) {
showhidefunc(d);
}
// ...
function showhidefunc(d) {
// ...
}
2) tip.show()
不是 属性 而是一种方法,需要在参数中传递一个节点以显示提示才能工作:
tip.show(d);
除此之外你的代码看起来不错。
这是你更新的(工作中的)fiddle:
http://jsfiddle.net/f8R3M/39/
我需要仅在选中复选框值时在移动悬停时显示图表节点的工具提示。否则它不应该显示。
我尝试了如下代码。但是它不起作用。
.on('mouseover', function (d) {
if(document.getElementById("chkEnableDisableNames").checked == true){
d.show ;
}
else {
return null;
}})
注意:我将参考您的 jsFiddle 示例,因为其中的代码与您在问题中发布的代码片段不同。
代码有几个问题:
1) 您正在使用自定义函数 showhidefunc()
来调节提示的显示。该函数在您的悬停事件范围之外,因此不会继承它的局部变量,因此您需要通过参数传入它:
.on('mouseover', function(d) {
showhidefunc(d);
}
// ...
function showhidefunc(d) {
// ...
}
2) tip.show()
不是 属性 而是一种方法,需要在参数中传递一个节点以显示提示才能工作:
tip.show(d);
除此之外你的代码看起来不错。
这是你更新的(工作中的)fiddle: http://jsfiddle.net/f8R3M/39/