cambia cursore in puntatore dito


234

Ho questo ae non so che devo inserire in "onmouseover" in modo che il cursore si trasformi in puntatore come un normale collegamento:

<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover=""> A </a>

Ho letto da qualche parte che devo mettere:

onmouseover="cursor: hand (a pointing hand)"

Ma non funziona per me.

Inoltre, non sono sicuro che questo sia considerato JavaScript, CSS o semplicemente HTML.


è css e l'evento onmouseover è un evento javascript.
Scott,

Non inserire css direttamente in onmouseover = "". Inoltre, il cursore: mano mentre passi con il mouse sopra il tuo collegamento dovrebbe essere l'azione predefinita. Se ciò non accade, potrebbe esserci un altro problema a portata di mano.
Serbatoio



3
lol "Mano ..... una mano che punta!" ahah scusa, non ho resistito.
Christine,

Risposte:


458
<a class="menu_links" onclick="displayData(11,1,0,'A')" onmouseover="" style="cursor: pointer;"> A </a>

È css.

O in un foglio di stile:

a.menu_links { cursor: pointer; }

2
Dopo aver provato questo, sembra che sia necessario avere sia onmouseover = "" AND style = cursore: pointer; ". Se hai solo il tag style, il cursore del puntatore del puntatore scompare / default al puntatore standard dopo un'interazione con un clic. Buon post Scott, grazie
Nubtacular

1
@DnfD è necessario solo onmouseoverse non esiste una href definizione. Se, come un'ancora di serie, non v'è una hrefdefinizione, il onmouseovernon è necessario.
Scott,

@DnfD la risposta accettata è davvero terribile, davvero. fa il lavoro, ma non è chiaro. rimuoverlo mouseover=""e style="cursor: pointer;"lasciarlo class="menu_links" funzionerà! indipendentemente dal fatto che hrefci sia o no.
Jarett Lloyd,

@Scott no, non è necessario l' mouseoverevento all'interno. vedi il mio precedente commento a DnfD
Jarett Lloyd,

@JarettLloyd dipende molto dal supporto del browser e dalla costruzione dei CSS. Questa è una risposta per il 2012 . Le cose sono cambiate in 6+ anni.
Scott,

52

Puoi farlo in CSS:

a.menu_links {
    cursor: pointer;
}

Questo è in realtà il comportamento predefinito per i collegamenti. Devi averlo in qualche modo sovrascritto altrove nel tuo CSS, o non c'è alcun hrefattributo lì (manca dal tuo esempio).


non ho un href perché non voglio lasciare la pagina. è un link che attiva una funzione JS e se inserisco href = "#" lo incasina e ricarica la pagina sbagliata
Dvir Levy

2
@DvirLevy - Quindi restituisci false e usa href="#", o usa semplicemente il CSS come ti ho mostrato ...
Joseph Silber,

22

Mi piace usare questo se ho solo un link nella pagina:

onMouseOver="this.style.cursor='pointer'"


7

Ecco qualcosa di bello se vuoi fare il possibile. nell'URL, è possibile utilizzare un collegamento o salvare un'immagine png e utilizzare il percorso. per esempio:

url ( 'attività / imgs / theGoods.png');

sotto è il codice:

.cursor{
  cursor:url(http://www.icon100.com/up/3772/128/425-hand-pointer.png), auto;
}

Quindi funzionerà solo con le dimensioni 128 X 128, più grandi e l'immagine non verrà caricata. Ma puoi praticamente usare qualsiasi immagine tu voglia! Questo sarebbe considerato puro CSS3 e alcuni HTML. tutto quello che devi fare in HTML è

<div class='cursor'></div>

e solo in quel div, quel cursore mostrerà. Quindi di solito lo aggiungo al tag body.


6

Penso che la "migliore risposta" sopra, anche se programmaticamente accurata, non risponda effettivamente alla domanda posta. la domanda chiede come modificare il puntatore nell'evento mouseover. Vedo post su come uno potrebbe avere un errore da qualche parte non rispondendo alla domanda. Nella risposta accettata, l'evento del mouseover è vuoto ( onmouseover="") e l'opzione di stile, invece, è inclusa. Sconcertante perché è stato fatto.

Potrebbe non esserci nulla di sbagliato nel link del ricercatore. considera il seguente html:

<a id=test_link onclick="alert('kinda neat);">Click ME!</a>

Quando un mouse dell'utente si trova su questo link, il puntatore non cambierà in una mano ... invece, il puntatore si comporterà come se stesse passando sopra al testo normale. Uno potrebbe non volerlo ... e quindi, il puntatore del mouse deve essere detto di cambiare.

la risposta cercata è questa (che è stata pubblicata da un altro):

<a id=test_link onclick="alert('Nice!');"
       onmouseover="this.style.cursor='pointer';">Click ME!</a>

Tuttavia, questo è ... un incubo se ne hai molti di questi, o usi questo tipo di cose ovunque e decidi di apportare qualche tipo di cambiamento o di imbatterti in un bug. meglio creare una classe CSS per questo:

a.lendhand {
  cursor: pointer;
}

poi:

<a class=lendhand onclick="alert('hand is lent!');">Click ME!</a>

ci sono molti altri modi che sarebbero probabilmente migliori di questo metodo. DIV , PULSANTI , IMG , ecc. Potrebbero rivelarsi più utili. Non vedo alcun danno nell'uso <a>...</a>, però.

Jarett.


4

Aggiungi un hrefattributo per renderlo un link valido e return false;nel gestore di eventi per evitare che causi una navigazione;

<a href="#" class="menu_links" onclick="displayData(11,1,0,'A'); return false;" onmouseover=""> A </a>

(O rendere il displayData()ritorno falso e ..="return displayData(..)


3

La soluzione tramite CSS puro come indicato nella risposta contrassegnata come la migliore non è adatta a questa situazione.

L'esempio in questo argomento non ha un normale attributo href statico, sta chiamando solo JS, quindi non farà nulla senza JS.

Quindi è bene attivare il puntatore solo con JS. Quindi, soluzione

onMouseOver="this.style.cursor='pointer'"

come detto sopra (ma non posso commentare lì) è il migliore in questo caso. (Ma sì, in generale, per collegamenti normali che non richiedono JS, è meglio lavorare con CSS puro senza JS.)


-1

div{cursor: pointer; color:blue}

p{cursor: text; color:red;}
<div> im Pointer  cursor </div> 
<p> im Txst cursor </p> 

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.