【问题标题】:Change mouse cursor over vis.js network node在 vis.js 网络节点上更改鼠标光标
【发布时间】:2017-03-24 18:37:27
【问题描述】:

当 vis.js 在网络节点上时,有没有办法改变鼠标光标?我希望将它们视为节点所代表对象的链接,并被要求将光标更改为“手指”图标以指示可以单击它。

【问题讨论】:

    标签: vis.js-network vis.js


    【解决方案1】:

    对我来说,它的工作需要 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';
     });
    

    【讨论】:

      【解决方案2】:

      此外,必须在 hoverNode 事件触发之前为交互设置悬停标志:

      var options = {interaction:{hover:true}};
      

      【讨论】:

        【解决方案3】:

        为此,首先我们附加 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 了解更多详情。

        【讨论】:

        • 这工作得相当好,但是如果我有重叠的节点,我会遇到问题(例如:我关闭了物理或设置为更快地终止而不是获得完美的解决方案),从一个移动到另一个导致 blurNode 触发,并且它在 hoverNode 或 hoverNode 不触发后触发,但是尽管鼠标悬停在(不同的)节点上,但鼠标光标会恢复为默认值。 (实际上,当它们几乎重叠并且我移动得足够快时能够触发它)
        • 根据当前文档,如果启用了选项 interaction:{hover:true},hoverNode 和 blurNode 事件将被触发。
        • @Foon 我认为您的问题可能与从边缘过渡到节点时未触发 hoverNode 事件的错误有关:stackoverflow.com/q/55748023/4572002 这似乎已在 > v5.0
        【解决方案4】:

        在hoverNode 回调中设置network.canvas.body.container.style.cursor = 'pointer' 并在blurNode 处理程序中将其设置回default 就可以了。

        【讨论】:

        • 当我们在问题列表中看到问题时,请接受您自己的回答,表明问题已经解决
        猜你喜欢
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-26
        • 2010-11-16
        • 1970-01-01
        • 2010-11-15
        • 1970-01-01
        相关资源
        最近更新 更多