【问题标题】:How to change the mouse cursor with javascript without hovering an element?如何在不悬停元素的情况下使用 javascript 更改鼠标光标?
【发布时间】:2014-11-26 00:35:12
【问题描述】:

我知道我们可以使用 HTMLElement.style.cursor 在悬停元素时更改光标。但是我们可以在不需要鼠标悬停任何东西的情况下使用 javascript 更改光标吗?谢谢。

这是针对 web/web 视图上的游戏应用程序

我需要一个不依赖dom的解决方案

【问题讨论】:

  • @KimGysen 显然这是一个不同的问题
  • @KimGysen 光标将取决于 dom。例如,如果您在悬停的当前元素上更改光标,则移动鼠标并更改光标
  • 是的,但是您的脚本通过浏览器的 DOM api 与浏览器交互...我认为没有其他方法可以做到这一点 afaik,我真的不认为有需要。建议的解决方案应该可行吗?
  • 因此问题...如果有任何 api/库可以直接与鼠标交互,那就太好了。

标签: javascript jquery cursor mouse


【解决方案1】:

更改所有元素的光标:http://jsfiddle.net/m2rLy13L/1/

$('*').css('cursor','help');

【讨论】:

    【解决方案2】:

    您可以使用 div 来包装整个文档:http://jsfiddle.net/ymzrocks/un8b6rbc/

    html:

    <div class="frame" style="background:#ababab"></div>
    <div class="frame">
    content here
    </div>
    

    css:

    .frame
    {
        position:fixed;
        top:0;
        left:0;
        right:0;
        bottom:0;
        ;
    }
    

    js:

    $('div.frame').css('cursor', 'help');
    

    【讨论】:

    • 谢谢,我不想使用 div 包装器,因为我需要点击 html。我想使用mouse.cursor('crosshair') 这样的东西,这样更容易更干净。
    • 试试小提琴 - 包装器在后台而不是在前面。
    • 谢谢,但是前面有东西时它会中断...jsfiddle.net/m2rLy13L
    • 我只是看着你摆弄它并且它有效。 console.log 打印到开发者控制台而不是屏幕。如果您不喜欢我的解决方案,那很好,但是当您说它破坏时,它可能会使其他用户感到困惑
    • 对不起,我的意思是鼠标光标在按钮前面发生了变化。按钮本身工作正常。
    【解决方案3】:

    似乎https://www.npmjs.org/package/pointer-cursor 可能是一个不错的包。

    【讨论】:

      猜你喜欢
      • 2016-12-08
      • 1970-01-01
      • 2018-11-12
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 2021-11-10
      相关资源
      最近更新 更多