2011-08-06 8 views

答えて

4

「#」はユーザーをページの先頭に戻すため、通常はvoid(0)となります。

3つの理由。

function doSomething() { 
    //some code 
    return false; 
} 

しかし、その後、彼らはonclickreturn doSomething()を使用してちょうどdoSomething()を使用することを忘れ:開発者のチームamoungst#の使用を奨励することは、必然的にこのように呼ばれる関数の戻り値を使用して、いくつかにつながります。

#を避ける2番目の理由は、最終的にfalseが返されることです。呼び出された関数がエラーをスローすると実行されません。したがって、開発者は、呼び出された関数でエラーを適切に処理することも忘れてはなりません。

第3の理由は、onclickイベントプロパティが動的に割り当てられる場合があることです。私は機能を呼び出すことができるようにするか、または特定の機能を別の方法でコード化することなく動的に割り当てることができます。したがって、私のonclick(または何かに)HTMLマークアップで次のようになります。

onclick="someFunc.call(this)" 

OR

onclick="someFunc.apply(this, arguments)" 

javascript:void(0)を使用したが、上記の頭痛のすべてを回避し、私は欠点のいずれかの例を発見していません。

だから、あなたが唯一の開発者なら、あなたは明らかにあなた自身の選択をすることができますが、あなたはチームとして働く場合は、どちらかの状態にあります。

use href="#"、最後にonclickは常にreturn false;が含まれていることを確認し、その呼び出された関数はエラーをスローしません。関数をonclickプロパティに動的に追加すると、エラーをスローしないようにし、falseを返すようにします。

OR

use href="javascript:void(0)" 

目は明確に伝えに簡単です。

0

href = ""は現在のページと同じページにリンクし、効果的にページを更新します。 href = "#"はページをリフレッシュしませんが、#を使用すると画面がページの先頭に移動します(ブラウザは名前のないアンカーを効果的に探します)。 javascript:void(0)はリンク上で何も起こらないようにします。

リンクを挿入するときに#を使用します。ページレイアウトを作成するときなど、どこに行くのかわかりません。私は通常、同じページにフォームを投稿したい場合はフォームアクション= ""を使用しますが、href = ""またはjavascript:void(0)を個人的に使用したことはありません。

14

href=""はトップ

`のhref =現在のページをスクロールします現在のページ

href="#"をリロードします "のjavascript:無効(0)" 何もしません。

javascript: void(0)と同じ効果を得るには、他の2つの方法のいずれかを使用してアンカーのクリックイベントハンドラからfalseを返すこともできます。あなたが#を使用しているため、ユーザーにはJavaScriptが無効になっている場合でも、

document.getElementById('the-link').onclick = function(){ 
    // Do stuff 
    return false; 
}; 

この方法:

は私が<a id="the-link" href="#">Link</a>を使用して、どこかのように私のJavaScriptでクリックリスナーにイベントハンドラをバインドすることを好みますページは再読み込みされません(上にスクロールされます)。より綺麗に見えます。javascript: void(0)

0

href=""を使用すると、アンカータグはリンクではなくアンカー。その後、リンクの動作やイベントを取得しませんでした。テストできるブラウザで動作しても、空の値を使用しない方が安全です。

多くの場合、名前のないブックマークhref="#"が使用されます。これは、href="#contact"のような任意のブックマークにリンクするのと同じですが、名前のないブックマークがページの上部につながる点が異なります。 Javascriptが動作しない場合、これはまともなフォールバックとして機能します。別の場所をナビゲートするのではなく、上に移動するだけです。場合によっては、開発者がリンクのデフォルトのアクションを停止するのを忘れていたことがわかり、スクリプトが実行している間にページが先頭にジャンプします。

href="javascript:void(0)"を使用すると、どこにもつながっていないURLが生成されるため、リンクされません。それは正常に機能しますが、ほとんどのブラウザーのリンクを指すときにURLがステータスフィールドに表示されるため、かなり見栄えが悪くなります。

0

これらは2つの異なるリンクです:
1. href = ""はユーザーをルートページにリダイレクトします。デフォルトページやインデックスページによく似ています。
2. href = "#"ユーザーをリダイレクトしませんが、URLの変更だけでは何も行いません。ボタンのようなアンカーを意味するボタンのようなURLを作るだけです。しかし、どこに行くのか。 3.もしあなたがそれを使っていくつかのjavascriptジョブをしたいのなら。あなたは使用することができます

<button onclick="dothis()">Click me!</button> 
function dothis() { 
// do what ever you want to do here 
} 

3番目のタイプは、リダイレクトされませんURLを変更しません!