2009-10-22 12 views
11

Temelde sahip olduğum şey:Alt öğenin onclick'i tetiklendiğinde tarayıcının bağlantıyı izlemesini durdurmak mümkün mü?

<a href="http://somelink.com"> 
    <span>stuff</span> 
    <span onclick="AwesomeFunction();">more stuff</span> 
    <span>the last stuff</span> 
</a> 

Şimdi, sorunu ebeveyn olarak bir bağlantı olarak tutmak istiyorum ancak kullanıcı onclick olayı ile açıksa, tarayıcının takip etmesini istemiyorum bağlantı.

event.stopPropagation(); 

'i denedim ancak bu yalnızca onclick olayının tetiklenmesini engelliyor gibi görünüyor veya yanlış bir şey yapıyorum.

Şu anda bir tür crunch modundayım ve bu HTML'yi üreten kodu yeniden yazmak için çok fazla zaman harcamak istemiyorum, ancak yine de hayati bir işlevde uygulandığından bu bir hack olamıyor site. Herhangi bir yardım takdir edildi.

cevap

25

javascript yöntem return false yapın gibi onClick return false!

Ya da event.preventDefault() yerine event.stopPropagation()

+3

'' 'event.preventDefault()' '' jQuery değildir. Sadece eski moda JavaScript. –

8

emin, sadece

şey

<a href="somwhere" onclick="return false;">nothing happens</a> 
+2

Eh ... Bu tam olarak doğru değil kullanabilirsiniz. Hala diğer açıklıkları tıkladığında bağlantıyı takip etmesini istiyor. Bu kod, tarayıcının bağlantıyı takip etmesini ve üzerindeki herhangi bir tıklamayı durduracaktır. Sadece onClick etkinliği ile açıklık değil. –

+1

, sadece href onclick'i takip etmeyen bir A örneğidir ... – Victor

8
<a href="http://somelink.com"> 
    <span>stuff</span> 
    <span onclick="AwsomeFunction(); return false;">more stuff</span> 
    <span>the last stuff</span> 
</a> 
İlgili konular