2009-10-22 3 views
11

子要素のonclickが起動すると、ブラウザがリンクをたどるのを止めることはできますか?

これは私が基本的に持っているものです:

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

問題は私がリンクとして親を保持したいのですが、ユーザーがonclickイベントでスパンをクリックした場合、リンク。

私は

event.stopPropagation(); 

を試しましたが、リンクのonclickイベントが起動するのを止めるか、間違っています。

私は現在、クランチモードのようなものです。このHTMLを生成するコードを書き直すにはあまり時間を費やしたくありませんが、それはかなり重要な機能で実装されているため、まだハックすることはできません。サイト。どんな助けもありがたい。

答えて

25

などのonclickの

何かにfalseを返します!

それとももevent.preventDefault()代わりのevent.stopPropagation()

+3

'' 'event.preventDefault()' ''はjQueryではありません。それは単なる古き良きJavaScriptです。 –

8

確認、ちょうどjavascriptのメソッドはfalseを返してください

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

うーん...それは非常に適切ではありません使用することができます。彼は他のスパンをクリックすると、彼はまだフォローしたいと思っています。このコードは、ブラウザがリンクをクリックするのを停止します。 onClickイベントの範囲だけではありません。 –

+1

これはhref onclickに従わないAの単なる例です。 – Victor

8
<a href="http://somelink.com"> 
    <span>stuff</span> 
    <span onclick="AwsomeFunction(); return false;">more stuff</span> 
    <span>the last stuff</span> 
</a> 
関連する問題