2010-12-30 15 views
3

私は放火犯を使用してhotmailの受信トレイにリンクを点検し、そのような何かを見た:私はちょうど私がリンクをクリックしたときにポストバックが実現される方法を見つけ出すことはできません空のJavaScriptリンクとはどういう意味ですか?

<a ... href="javascript:; .... /> 

を。そして、 "javascript :;"それはどの関数も参照していないのですか?

答えて

5

javascript:部分には、URIをJavaScriptコードとして解釈する擬似プロトコルがあります。 ;はステートメント終了記号の直後です。他に何も続くことがないと仮定すると、基本的にリンクをクリックすると何もしません。

リンクがクリックされたときに何かが起きている場合は、clickイベントハンドラがその子要素またはその祖先要素の1つに関連付けられていると推測しています。 clickはDOMを泡立てるので、要素自体に実際に見る必要はありません。

HTMLにこれらのイベントハンドラの添付ファイルが必ずしも表示されるとは限りません。ページは後でハンドラを接続するために控えめな手法を使用することがあります。

Gratuitous live example #1(控えめリンクにclickを引っ掛ける)

Gratuitous live example #2(祖先要素にclickを引っ掛ける)

+1

は本当にひどいです。どうもありがとう! – bege

+0

@bege:心配しないで、喜んで助けました。 –

2

それは何もしない表現;を、評価しています。それだけで、何かhrefにある(そうでなければ、リンクのように振る舞いません)。

実際の動作は別の場所に配線されています。例えば、それはこのjQueryのステートメントのようなもので、最大wireupされる可能性があります。$('#inboxLink').click(goToInboxFunction)

あるいは、アウト@T.J. Crowderポイントとして、clickハンドラはDOMでアップ高アップの有線およびこのリンクの取り込み、それをバブリングイベントを使用することができ。

関連する問題