Come cambiare cursore da puntatore a dito usando jQuery?


128

Questo è probabilmente molto semplice, ma non l'ho mai fatto prima. Come si modifica il cursore sul dito (come per fare clic sui collegamenti) anziché sul normale puntatore?

E come farlo con jQuery poiché è per questo che lo sto usando.

Risposte:


247
$('selector').css('cursor', 'pointer'); // 'default' to revert

So che può essere fonte di confusione per la tua domanda originale, ma il cursore "dito" è in realtà chiamato "puntatore".

Il normale cursore a freccia è solo "predefinito".

tutti i possibili puntatori predefiniti sembrano DEMO


14
Se possibile, farlo tramite CSS (diciamo con un: selettore hover) ed evitare del tutto jquery.
The Who

8
@The Who - Certo, ma se cambiare il cursore fa parte di una funzionalità che dipende da JS (diciamo che hai un cursore), allora non vorrai che il cursore cambi se l'utente ha JS disattivato.
Peter Ajtai,

3
L'ho usato insieme a $('selector').css('cursor', 'auto');per eliminare lo stile quando si sposta il mouse fuori dall'area del puntatore. Le classi CSS possono essere più pulite ... con $('...').addClass('someclass')e$('...').removeClass('someclass')
giochiamo il

quando si applica questo al tag body e si passa a un cursore personalizzato come questo: $('body').css( 'cursor', 'url(openhand.cur) 4 4, move;' );non sembra funzionare. Non so se si tratta di un bug all'interno di jquery o chrome. non ho provato questo su altri browser però.
jcfrei,

16

Aggiornare! Nuovo e migliorato! Trova plugin @ GitHub !


In un'altra nota, mentre quel metodo è semplice, ho creato un plug jQuery (che si trova in questo jsFiddle, basta copiare e incollare il codice tra le righe di commento ) che rende semplice cambiare il cursore su qualsiasi elemento $("element").cursor("pointer").

Ma non è tutto! Agisci ora e otterrai le funzioni della mano positioneishover senza costi aggiuntivi! Esatto, 2 funzioni del cursore molto utili ... GRATIS!

Funzionano in modo semplice come visto nella demo:

$("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");

Anche:

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

I materiali di consumo sono limitati, quindi agisci ora!


7

Come si modifica il cursore sul dito (come per fare clic sui collegamenti) anziché sul normale puntatore?

Questo è molto semplice da ottenere utilizzando la proprietà CSS cursor, non è jQuerynecessario.

Puoi leggere di più in: CSS cursor propertyecursor - CSS | MDN

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

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


1

È molto semplice

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' ); 
});

Dai un'occhiata su JSfiddle

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.