imleci parmak imlecine değiştir


234

Ben bu var ave ben imleç normal bir bağlantı gibi parmak işaretçi değişecek şekilde "onmouseover" içine eklemek gerektiğini bilmiyorum:

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

Ben koymam gereken bir yerde okudum:

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

Ama bu benim için çalışmıyor.

Ayrıca bunun JavaScript, CSS veya yalnızca düz HTML olarak kabul edildiğinden emin değilim.


css ve onmouseover olay bir javascript olayı.
Scott

Css'yi doğrudan onmouseover = "" içine koymazsınız. Ayrıca, imleç: bağlantınızın üzerine gelindiğinde el varsayılan işlem olmalıdır. Bu gerçekleşmiyorsa, elinizde başka bir sorun olabilir.
Tank



3
lol "El ..... işaret eden bir el!" haha üzgünüm, dayanamadım.
Christine

Yanıtlar:


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

Css.

Veya bir stil sayfasında:

a.menu_links { cursor: pointer; }

2
Bunu test ettikten sonra, hem onmouseover = "" AND style = imleç: pointer; "olması gerekiyor gibi görünüyor. Sadece stil etiketiniz varsa, işaretçi işaretçi imleci tek bir tıklama etkileşiminden sonra standart işaretçiye kaybolacak / varsayılan olarak görünecektir. İyi mesaj Scott, teşekkür ederim
Nubtacular

1
@DnfD yalnızca gerekir onmouseoveryoksa hiçbir href tanım. Standart bir çapa gibi , bir hreftanım varsa, onmouseovergerekli değildir.
Scott

@DnfD kabul edilen cevap gerçekten korkunç. işi yapar ama net değildir. Kaldır mouseover=""ve style="cursor: pointer;"bırak class="menu_links" işe yarayacak! hreforada olup olmadığına bakılmaksızın .
Jarett Lloyd

Hayır @Scott, sen yok gerekmouseover yoktur olayı. DnfD
Jarett Lloyd

@JarettLloyd, tarayıcı desteğine ve CSS yapısına bağlıdır. Bu 2012 cevabı. Her şey 6 yıldan fazla bir sürede değişti.
Scott

52

Bunu CSS'de yapabilirsiniz:

a.menu_links {
    cursor: pointer;
}

Bu aslında bağlantılar için varsayılan davranıştır. Bir şekilde CSS'nizin başka bir yerinde geçersiz kılmalısınız veya orada hiçbir hrefözellik yok (örneğinizde eksik).


bir href coz yok sayfadan ayrılmak istemiyorum. onun bir JS işlevini tetikleyen bir bağlantı ve ben href = "#" eklerseniz, o berbat ve yanlış sayfa yeniden yükler
Dvir Levy

2
@DvirLevy - Ya yanlış döndürün ve kullanın href="#", ya da sadece size gösterdiğim gibi CSS'yi kullanın ...
Joseph Silber

22

Sayfada yalnızca bir bağım varsa bunu kullanmayı seviyorum:

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


7

Bu ekstra mil gitmek istiyorsanız İşte serin bir şey. url'de bir bağlantı kullanabilir veya bir resim png'si kaydedebilir ve yolu kullanabilirsiniz. Örneğin:

url ( 'varlık / Grntl / theGoods.png');

kod aşağıdadır:

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

Yani bu sadece 128 X 128 boyutunda, daha büyük ve görüntü yüklenmeyecek. Ancak istediğiniz herhangi bir görüntüyü pratik olarak kullanabilirsiniz! Bu saf css3 ve bazı html olarak düşünülebilir. html'de yapmanız gereken tek şey

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

ve sadece o div'de, imleç görünecektir. Bu yüzden genellikle vücut etiketine eklerim.


6

Bence yukarıdaki "en iyi cevap", programsal olarak doğru da olsa, aslında sorulan soruya cevap vermiyor. soru fareyle üzerine gelme olayında işaretçiyi nasıl değiştireceğinizi sorar. Birinin soruyu cevaplamadığı bir yerde nasıl bir hata olabileceğine dair gönderiler görüyorum. Kabul edilen cevapta, fareyle üzerine gelme etkinliği boştur ( onmouseover="") ve bunun yerine stil seçeneği eklenir. Bunun neden yapıldığını hayrete düşürdü.

Sorgu yapan kişinin bağlantısında yanlış bir şey olmayabilir. aşağıdaki html'yi düşünün:

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

Bir kullanıcı faresi bu bağlantının üzerine geldiğinde, işaretçi bir ele dönüşmez ... bunun yerine işaretçi normal metnin üzerine gelir gibi davranır. Biri bunu istemeyebilir ... ve böylece, fare işaretçisine değişmesi söylenmelidir.

aranan cevap şudur (başka biri tarafından gönderilen):

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

Ancak, bu ... bunlardan birçoğunuz varsa ya da her yerde bu tür bir şey kullanırsanız ve bir tür değişiklik yapmaya ya da bir hataya girmeye karar verirseniz bir kabus. bunun için bir CSS sınıfı yapmak daha iyidir:

a.lendhand {
  cursor: pointer;
}

sonra:

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

tartışmasız bu yöntemden daha iyi olabilecek başka birçok yol var. DIV'ler , DÜĞMELER , IMG'ler , vb. Daha yararlı olabilir. Bununla birlikte, kullanımda hiçbir zarar görmüyorum <a>...</a>.

Jarett.


4

hrefGeçerli bir bağlantı haline getirmek için bir öznitelik ekleyin return false;ve olay işleyicide gezinmeye neden olmasını engelleyin;

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

(Veya displayData()dönüşü yanlış yap ve ..="return displayData(..)


3

En iyisi olarak işaretlenmiş cevapta belirtildiği gibi saf CSS yoluyla çözüm bu durum için uygun değildir.

Bu konudaki örnek normal statik href özniteliğine sahip değildir, yalnızca JS'yi çağırır, bu nedenle JS olmadan hiçbir şey yapmaz.

Bu nedenle, yalnızca JS ile işaretçiyi açmak iyidir. Yani, çözüm

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

Yukarıda belirtildiği gibi (ama orada yorum yapamam) bu durumda en iyisidir. (Ancak evet, genellikle, JS istemeyen normal bağlantılar için, JS olmadan saf CSS ile çalışmak daha iyidir.)


-1

div{cursor: pointer; color:blue}

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.