hrefs içermeyen bağlantılar için imleç stilini işaretçiye ayarlama


135

Javascript çağrıları yapma özelliği <a>olmadan html etiketleri bir sürü var . Bu bağlantıların imleç imleç stili yoktur. Metin stili imleçleri var.hrefonclick

hrefÖzniteliği kullanmadan imleç stilini bağlantılar için işaretçiye nasıl ayarlayabilirim ?

Href = "#" ekleyebileceğimi biliyorum. Ben html belgesinde birçok yerde bu var ve nasıl hreföznitelik kullanmadan bağlantılar için imleç tarzı işaretçi yapmak bilmek istiyorum .


Hoşçakalın, bağlantı derken "<a id="do_some_javascript"> test </a>" gibi bir şey mi demek istediniz? Yoksa sadece javascript yapan bir span veya div etiketi mi?
— Alxandr

Yanıtlar:


211

css dosyanıza bunu ekleyin ....

a:hover {
 cursor:pointer;
}

bir css dosyanız yoksa, bunu HTML sayfanızın HEAD'ına ekleyin

<style type="text/css">
 a:hover {
  cursor:pointer;
 }
</style>

ayrıca, javascriptinizin sonunda false döndürerek href = "" özelliğini kullanabilirsiniz.

<a href="" onclick="doSomething(); return false;">a link</a>

bu birçok nedenden dolayı iyidir. SEO veya insanlar javascript yoksa, href = "" çalışacaktır. Örneğin

<a href="nojavascriptpage.html" onclick="doSomething(); return false;">a link</a>

@ http://www.alistapart.com/articles/behavioralseparation

Düzenleme: BalusC en @ belirterek Worth cevap o söz :hoverOP'ın kullanım örneği için gerekli değildir. :hoverSeçici ile başka bir stil eklenebilir .


5
Kullanımı: fareyle üzerine gelme gerekli değildir ve bir href olmadan bağlantılar üzerinde çalışacağı garanti edilmez.
— Alxandr

Nerede işe yaramayacağını hayal edemiyorum. Bu, öğrenmenin iyi bir yoludur, href niteliğine sahip bağlantılara benzer başka ekleme davranışlarına sahip olmak isteyebilirsiniz: arka plan değişikliği, alt çizgi, renk, et al.
— Ross

1
Bunu kullandığımdan bu yana bir süre geçti, ancak <IE6 için stilleri bağlamak için koşullu bir yorum eklemeye değer olabilircursor: hand;
— David, Monica

Koşullu yoruma ihtiyacınız yoktur - sadece .myStyle {imleç: el; imleç: işaretçi;} - yeni tarayıcılar zaten anlamadıkları için el niteliğini yok sayarlar. Ayrıca IE6 hala işaretçiyi anlayacaktır - el ie5 ve altı içindir.
— easwee

Bir a'nın kendi içinde kullanılması bazı sorunlara neden olabilir. Özellikle IE'de, dönüş false ekleseniz bile OnBeforeUnload'u tetikledikleri için; Javascript bağlantısı bile: void (0); OnBeforeUnload öğesinin çağrılmasına neden olur. İşte bu problemle büyük bir baş ağrım vardı ...
— Alxandr

16

Bunu global CSS stilinize ekleyin:

a { cursor: pointer; }

Bu şekilde, artık tarayıcının varsayılan imleç stiline bağımlı olmazsınız.


Çalışmıyor. İmleç, Chrome textyerine yerine olarak değiştirildi pointer.
— ZhekaKozlov


6

Belli bir imleci object(myObject) üzerine getirdiğinizde imleci bir oktan bir ele nasıl değiştirirsiniz .

myObject.style.cursor = 'pointer';

1
İlk uzakta, SO hoş geldiniz, Lou! Gönderirken / yanıtlarken lütfen olabildiğince bilgilendirici olduğunuzdan emin olun ve kod örneklerinizi biçimlendirmeyi unutmayın (sizin için yaptığım gibi).
— Brian

4

Hepsine ortak bir sınıf verin (örneğin bağlantı). Sonra css dosyasına ekleyin:

.link { cursor: pointer; }

Veya mxmissile'nin önerdiği gibi, style = "cursor: pointer;"


4

aşağıdaki CSS ile bir sınıf oluşturun ve onclick etkinlikleriyle etiketlerinize ekleyin:

cursor:pointer;

3

cursor: pointerDoğru hatırlıyorsam CSS kullanın .

CSS dosyanızda:

.link_cursor
{
    cursor: pointer;
}

Ardından, bağlantı imlecine sahip olmasını istediğiniz öğelere aşağıdaki HTML'yi eklemeniz yeterlidir: class="link_cursor"(tercih edilen yöntem.)

Veya satır içi CSS kullanın:

<a style="cursor: pointer;">

1

Açısal versiyon:

<a (click)="action(); $event.preventDefault()" href="#">Action</a>

0

Bu benim için çalıştı:

<a onClick={this.openPopupbox} style={{cursor: 'pointer'}}>
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.