ホームページ >ウェブフロントエンド >jsチュートリアル >javascript:void(0)_javascript スキルの使用に関するディスカッション

javascript:void(0)_javascript スキルの使用に関するディスカッション

WBOY
WBOYオリジナル
2016-05-16 17:24:24963ブラウズ

ページを作成するときに、リンクをクリックした後に何もしない、またはクリックに応じて他の処理を完了したい場合は、その属性を href = "#" に設定できます。ただし、ページにスクロールがある場合に問題が発生します。バーをクリックするとページの先頭に戻ってしまうため、ユーザー エクスペリエンスが悪くなります。

現在、いくつかの解決策があります:
1) リンクをクリックした後は何もしません

コードをコピーしますコードは次のとおりです:

test

test // 2 ~ 4 個の # を使用します。ほとんどは "####" ですが、" #all " など

2) リンクをクリックした後、ユーザー定義のクリック イベントに応答します
コードをコピー コードは次のとおりです。

test a href ="#" onclick="doSomething();return false;">ブラウザの互換性の問題を含むすべての問題が解決されました //または、href=""
test

説明:
1.javascript:void(0) この疑似プロトコルを記述する必要がありますWeb 標準の本を読んだことがあれば、その理由がわかるでしょう。 (わかりません、原文を抜粋しているので、一時的に記録しておきます)
2. リンク (href) に javascript:void(0) を直接使用すると、IE で次のような問題が発生する可能性があります。 GIF アニメーションの再生が停止するなどの原因となるため、最も安全な方法は「####」を使用することです。リンクをクリックした後にページの先頭にジャンプしないように、onclick イベントは false を返すことができます。
3. マウスを移動して手の形にしたい場合は、

を使用してコード をコピーします。 コードは次のとおりです。
Click Me! >
void は JavaScript の演算子です。これは、式のみが実行され、戻り値はありません。
void 演算子の使用形式は次のとおりです:



コードをコピー コードは次のとおりです: javascript:void (式)
javascript:void 式


適切なプログラム スタイルを実現するには、括弧付きで 2 番目のタイプの
を使用することをお勧めします。 void 演算子を使用して、javascript:void(document.form.submit()) などのハイパーリンクを指定できます。式は評価されますが、現在のドキュメントには何もロードされません。 void(0) は 0 と評価されますが、JavaScript には影響しません。つまり、
重要なのは、void が javascipt 自体の演算子であることを認識することです。これは、式のみが実行され、戻り値は存在しないことを意味します。

また、デフォルトの照準点位置「#」が先頭になっているため、ページが自動的に先頭に戻ってしまうため、このようなことが起こります。