【发布时间】:2017-03-24 18:37:27
【问题描述】:
当 vis.js 在网络节点上时,有没有办法改变鼠标光标?我希望将它们视为节点所代表对象的链接,并被要求将光标更改为“手指”图标以指示可以单击它。
【问题讨论】:
标签: vis.js-network vis.js
当 vis.js 在网络节点上时,有没有办法改变鼠标光标?我希望将它们视为节点所代表对象的链接,并被要求将光标更改为“手指”图标以指示可以单击它。
【问题讨论】:
标签: vis.js-network vis.js
对我来说,它的工作需要 3 个步骤
1. 如果启用了选项交互:{hover:true} 并且鼠标悬停在节点上,则触发。
var options = {
physics: {
enabled: false
},
interaction:
{ hover:
true
}};
2.hoverNode函数
network.on("hoverNode", function (params) {
network.canvas.body.container.style.cursor = 'pointer';
});
3.blurNode函数
network.on("blurNode", function (params) {
network.canvas.body.container.style.cursor = 'default';
});
【讨论】:
此外,必须在 hoverNode 事件触发之前为交互设置悬停标志:
var options = {interaction:{hover:true}};
【讨论】:
为此,首先我们附加 hoverNode 网络事件,当我们将鼠标悬停在网络的任何节点上时会触发该事件。
network.on("hoverNode", function (params) {
network.canvas.body.container.style.cursor = 'pointer'
});
然后我们绑定网络的 blurNode 事件,当我们将房子从节点带走 (blur) 时会触发该事件。如果我们不附加此事件,您将在整个网络上看到 pointer。
network.on("blurNode", function (params) {
network.canvas.body.container.style.cursor = 'default'
});
您可以查看documentation 了解更多详情。
【讨论】:
interaction:{hover:true},hoverNode 和 blurNode 事件将被触发。
hoverNode 事件的错误有关:stackoverflow.com/q/55748023/4572002 这似乎已在 > v5.0
在hoverNode 回调中设置network.canvas.body.container.style.cursor = 'pointer' 并在blurNode 处理程序中将其设置回default 就可以了。
【讨论】: