a href=# と a href=javascript:void(0) の違いの詳細な説明

a href=# と a href=javascript:void(0) の違いの詳細な説明
a href="#"> リンクをクリックすると、ページがページ上部までスクロールします。# デフォルトのアンカーポイントは #TOP です。

<a href="javascript:void(0)" onClick="window.open()"> リンクをクリックしてもページは移動せず、リンクのみが開きます

<a href="#" onclick="javascript:return false;"> 上記と同じ効果ですが、ブラウザによって異なる場合があります。

リンクをクリックした後にページを一番上までスクロールしたくない場合は、href="#" の代わりに href="javascript:void(0)" を使用します。return false でも同様の効果が得られます。

href="#" と href="javascript:void(0)" の違いの詳しい説明

「#」には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です。JavaScript:void(0) はデッドリンクのみを示します。ページが非常に長く、参照リンクが明らかに # であるにもかかわらず、ページの先頭にジャンプするのはこのためです。JavaScript:void(0) はそうではありません。したがって、スクリプトを呼び出すときは void(0) を使用するのが最適です。
または <クリック時に入力>
<div onclick> など

リンクを新しいウィンドウで開くいくつかの方法

1.ウィンドウを開きます('url')
2. カスタム関数を使用する

コードをコピー
コードは次のとおりです。

<スクリプト>
関数 openWin(タグ,obj)
{
obj.target="_blank";
obj.href = "Web/Substation/Substation.aspx?stationno="+タグ;
obj.click();
}
</スクリプト>
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a>

ウィンドウの場所.href=""
---------------------------------------------------------------------------------
# の場合は先頭にジャンプします。私が収集した解決策をいくつか示します。
1: <a href="####"></a>
2: <a href="javascript:void(0)"></a>
3: <a href="javascript:void(null)"></a>
4: <a href="#" onclick="falseを返す"></a>
5: <span style="cursor:hand"></span> (FFでは表示されないようです)
---------------------------------------------------------------------------------
JavaScript は慎重に使用してください: void(0)

今日 CGI をデバッグしていたところ、CGI プログラムは明らかに実行され、最終結果も正しかったのですが、ページが更新されませんでした。 FireFox2.0 でテストすると結果は正常ですが、IE6 では更新されません。よく調べてみると、cgi ページ リンクは <a href="javaScript:void(0)" OnClick="XXX_Func();" ….> 単なるサンプル </a> であり、問​​題はこの void(0) にあることがわかりました。まず、JavaScript における void(0) の意味を見てみましょう。
JavaScript では、void は式は評価されるが値は返されないことを指定する演算子です。

void 演算子の使用形式は次のとおりです。

1. javascript:void (式_r_r)
2. javascript:void 式_r_r

expression_r_r は評価される JavaScript 標準式です。式を囲む括弧はオプションですが、含めることをお勧めします。 void 演算子を使用してハイパーリンクを指定できます。式は評価されますが、現在のドキュメントには何も読み込まれません。次のコードは、ユーザーがクリックしても何も起こらないハイパーリンクを作成します。ユーザーがリンクをクリックすると、void(0) は 0 と評価されますが、JavaScript には影響しません。
<a href="javascript:void(0)">ここをクリックしても何も起こりません</a>
つまり、何らかの処理は行いたいがページ全体を更新したくない場合はvoid(0)を使用できますが、ページを更新する必要がある場合は注意が必要です。
実際、 <a href="javascript:void(document.form.submit())"> を次のように使用することができ、この文は送信操作を実行します。では、どのような状況で void(0) がより頻繁に使用されるのでしょうか? 更新なしですか? もちろん、それは Ajax です。Ajax ウェブページを見ると、一般的に void(0) が多数見られます :)。そのため、void(0) を使用する前に、ページ全体を更新する必要があるかどうかを検討するのが最善です。

JavaScript を使用する場合、通常は次のようなものを使用します。

<a href="#" onclick="javascript:method">送信</a>
このメソッドは疑似リンクを通じて JavaScript メソッドを呼び出します。このメソッドには次の問題があります:
リンクをクリックしてもページはジャンプしませんが、スクロール バーは上にスクロールします。解決策は false を返すことです。

以下のように表示されます。

<a href="#" onclick="javascript:method;return false;">送信</a>

### も使用できます

a href="javascript:void(0)" onclick="javascript:method;return false;"送信
javascript:void(0) はジャンプしません :)

もう一つの方法は#this

a href="#this" onclick="javascript:method"

<<:  MySQLの主キーとユニークキーの重複挿入の解決策の詳細な説明

>>:  Photoshop を使って Web ワイヤーフレームを作成する方法

推薦する

Node.jsとDenoの比較

目次序文Denoとは何ですか? Node.jsとの比較建築ESモジュール依存関係の管理TypeScr...

LinuxでifconfigとaddrがIPアドレスを表示できない問題を解決する

1. 仮想マシンにLinuxシステムをインストールし、仮想マシンを起動し、rootとパスワードを入力...

Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明

1. Dockerをインストールするyum -y install docker-ioインストールが完...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

Vue でのキープアライブコンポーネントの使用例

問題の説明(キープアライブとは何か)キープアライブ 名前の通り、アクティブな状態を維持します。誰が活...

親子コンポーネントの通信を解決するための3つのVueスロット

目次序文環境の準備カテゴリコンポーネントアプリのコンポーネント1. デフォルトスロット2. 名前付き...

MySQL の文字セット utf8 を utf8mb4 に変更する方法

MySQL 5.5 の場合、文字セットが設定されていない場合、MySQL のデフォルトの文字セットは...

Vueはドラッグ可能なツリー構造図を実装します

目次Vue 再帰コンポーネントドラッグイベント最近、Vue を使用して、ドラッグ可能なツリー構造図と...

Mac に Windows サービスを備えた仮想マシンをインストールする方法

1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

MySQL での SQL モードの表示と設定の詳細な説明

MySQL での SQL モードの表示と設定MySQL はさまざまなモードで実行でき、さまざまなシナ...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...

SqlクエリMySqlデータベーステーブル名と説明テーブルフィールド(列)情報

以下では、SQL クエリ ステートメントを使用して、Mysql データベース内のテーブルのテーブル名...

CentOS6.9 での MySQL 5.7.17 のインストールと設定のチュートリアル

CentOS6.9はMysql5.7をインストールします。参考までに、詳細は次のとおりです。 1. ...