如何使用jQuery将光标从指针更改为手指?

Posted

技术标签:

【中文标题】如何使用jQuery将光标从指针更改为手指?【英文标题】:How to change cursor from pointer to finger using jQuery? 【发布时间】:2010-12-23 01:19:05 【问题描述】:

这可能真的很容易,但我以前从未做过。如何将光标更改为手指(例如单击链接)而不是常规指针?

以及如何使用 jQuery 来做到这一点,因为这就是我使用它的目的。

【问题讨论】:

【参考方案1】:
$('selector').css('cursor', 'pointer'); // 'default' to revert

我知道您的原始问题可能会令人困惑,但“手指”光标实际上称为“指针”。

普通箭头光标只是“默认”。

all possible default pointer looks DEMO

【讨论】:

如果可能,请通过 CSS 执行此操作(例如使用 :hover 选择器)并完全避免使用 jquery。 @The Who - 当然,但是如果更改光标是依赖于 JS 的功能的一部分(假设您有一个滑块),那么如果用户JS 关闭了吗? 我将它与$('selector').css('cursor', 'auto'); 结合使用,以在将鼠标移出指针区域时剥离样式。 CSS 类可能会更简洁......使用 $('...').addClass('someclass')$('...').removeClass('someclass') 当将它应用到正文标签并更改为这样的自定义光标时:$('body').css( 'cursor', 'url(openhand.cur) 4 4, move;' ); 它似乎不起作用。我不知道这是否是 jquery 或 chrome 中的错误。不过还没有在其他浏览器上测试过。【参考方案2】:

更新!新的和改进的!查找插件@GitHub


另一方面,虽然that method 很简单,但我创建了一个 jQuery 插件 (found at this jsFiddle, just copy and past code between comment lines),它可以像 $("element").cursor("pointer") 一样简单地更改任何元素上的光标。

但这还不是全部!立即行动,您将免费获得positionishover 的手动功能!没错,2 个非常方便的光标功能……免费!

它们的工作方式与演示中的一样简单:

$("h3").cursor("isHover"); // if hovering over an h3 element, will return true, 
    // else false
// also handy as
$("h2, h3").cursor("isHover"); // unless your h3 is inside an h2, this will be 
    // false as it checks to see if cursor is hovered over both elements, not just the last!
//  And to make this deal even sweeter - use the following to get a jQuery object
//       of ALL elements the cursor is currently hovered over on demand!
$.cursor("isHover");

还有:

$.cursor("position"); // will return the current cursor position as  x: i, y: i 
    // at anytime you call it!

货源有限,赶快行动吧!

【讨论】:

【参考方案3】:

如何将光标更改为手指(例如单击链接)而不是常规指针?

使用 CSS 属性 cursor 非常简单,不需要 jQuery

您可以阅读更多信息:CSS cursor propertycursor - CSS | MDN

.default 
  cursor: default;

.pointer 
  cursor: pointer;
<a class="default" href="#">default</a>

<a class="pointer" href="#">pointer</a>

【讨论】:

【参考方案4】:

很简单

html

<input type="text" placeholder="some text" />
<input type="button" value="button" class="button"/>
<button class="button">Another button</button>

jQuery

$(document).ready(function()
  $('.button').css( 'cursor', 'pointer' );

  // for old IE browsers
  $('.button').css( 'cursor', 'hand' ); 
);

Check it out on JSfiddle

【讨论】:

以上是关于如何使用jQuery将光标从指针更改为手指?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Vuetify组件中将光标默认更改为指针

将光标更改为标签内跨度上的指针

CSS:如何使光标成为输入文件上的指针?

使用 Windows 窗体应用程序时如何将鼠标光标更改为自定义光标?

使光标转向 .jqxgrid 列标题上的指针

如何将箭头光标图像更改为我的网页的手形图像[重复]