jsを呼び出すいくつかの方法が整理され、使用が推奨されています

jsを呼び出すいくつかの方法が整理され、使用が推奨されています
a タグではクリック イベントがよく使用されます。

1. href="javascript:js_method();"

これは当社のプラットフォームでよく使用される方法ですが、この方法では次のようなパラメータを渡すときに問題が発生しやすくなります。さらに、javascript: プロトコルを href 属性として使用すると、window.onbeforeunload イベントが不必要にトリガーされるだけでなく、IE で gif アニメーションが再生されなくなります。 W3C標準では、href内でJavaScriptステートメントを実行することは推奨されていません。

2. href="javascript:void(0);" onclick="js_method()"

この方法は、多くのウェブサイトで最も一般的に使用されている方法であり、最も包括的な方法でもあります。onclick メソッドは js 関数の実行を担当し、void は演算子です。void(0) は undefined を返し、アドレスはジャンプしません。また、このメソッドでは、最初のメソッドのように、ブラウザのステータス バーに js メソッドが直接公開されることはありません。

3.a href="javascript:;" onclick="js_method()"

この方法は前の 2 つの方法と似ていますが、唯一の違いは空の js コードが実行されることです。

4.a href="#" onclick="js_method()"

このメソッドは、インターネット上でも非常に一般的なコードです。# はタグに組み込まれたメソッドで、top の機能を表します。したがって、この方法を使用すると、Web ページをクリックした後、ページの先頭に戻ります。

5.a href="#" onclick="js_method();return false;"

このメソッドは、クリックして js 関数を実行した後に false を返し、ページはジャンプせず、実行後もページは現在の位置のままになります。

Taobao のホームページを見ました。彼らは 2 番目の方法を使用していましたが、Alibaba のホームページでは 1 番目の方法が使用されていました。両者の違いは、href 内の各 JavaScript メソッドが try と catch で囲まれていることです。

まとめると、 js 関数を呼び出す最も適切な方法は次のとおりです。

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

href="javascript:void(0);" onclick="js_method()"
a href="javascript:;" onclick="js_method()"
a href="#" onclick="js_method();return false;"

<<:  Flinkのフォールトトレラントメカニズムに関する簡単な説明:ジョブ実行とデーモン

>>:  一般的なブラウザ互換性の問題(概要)

推薦する

Windows に異なる (2 つの) バージョンの MySQL データベースをインストールする詳細なチュートリアル

1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...

Dockerコンテナの紹介

Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...

GobangゲームのWebバージョンを実装するためのJavaScript

この記事では、GobangゲームのWebバージョンを実装するためのJavaScriptの具体的なコー...

Centos8.3、dockerデプロイメントspringbootプロジェクトの実際のケース分析

導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...

MySQLデータベースの増分バックアップのアイデアと方法

MySQL データベースの増分バックアップを実行するには、データベース構成ファイル /etc/my....

vue-cli を使用してプロジェクトを作成し、webpack でパッケージ化する方法

1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...

MySQL 8で追加された3つの新しいインデックスは、非表示、降順、関数です。

目次MySQL 8 の隠しインデックス、降順インデックス、関数インデックス1. 隠しインデックス1....

goaccess を使用して nginx ログを分析する詳細な方法

最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

HTTP ヘッダー情報の解釈と分析 (詳細概要)

HTTP ヘッダーの説明1. Accept: Web サーバーに受け入れるメディア タイプを通知しま...

iframeリフレッシュ方式の方が便利

iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...

Linux の文字端末でマウスを使って赤い四角形を移動する方法

すべてがファイルです! UNIX はすでにそれを言っています。エリック・レイモンドはこう言いました。...

Linux ユーザー状態とカーネル状態間の通信方法の詳細な説明

CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...

ViteでReactプロジェクトを構築する方法

目次序文Viteプロジェクトを作成する改修プロジェクトディレクトリの規則その他の構成序文毎日鳩、火ば...

JavaScriptのループの違いについての詳細な説明

目次序文列挙可能なプロパティ反復可能なオブジェクトforEachメソッドとmapメソッドチェーン呼び...