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

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

推薦する

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

CentOS VPS に SSH 経由で MySQL をインストールする方法

yum install mysql-serverと入力します。続行するにはYを押してくださいインスト...

MySQLは実際に分散ロックを実装できる

序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...

Dockerコンテナにnginxを簡単にデプロイするプロセスの分析

1. コンテナにnginxサービスをデプロイするcentos:7 イメージはコンテナを実行し、このコ...

VUEユニアプリ開発環境についての簡単な説明

目次1. HBuilderXビジュアルインターフェースを通じて2. vue-cliコマンドで実行する...

CSS スタイルの読み込みの優先順位に関する経験の共有

昨日のプロジェクト開発中に、スタイルの読み込み優先順位に関する問題が発生しました。クラスは定義され、...

mysql における mydumper と mysqldump の比較

いくつかのテーブルまたは単一のデータベースのみをバックアップする場合は、innobackup よりも...

LinuxでIPを表示する方法の例

ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...

Vueメソッドに基づくシンプルなタイマーの実装

Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...

HTMLテキスト内のすべてのタグを置き換える方法

(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...

CentOS に MySQL をインストールしてリモート アクセスを設定する方法

1. MySQLリポジトリソースをダウンロードする$ wget http://repo.mysql....

SQL IDENTITY_INSERT ケーススタディ

一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...

MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明

序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...

フロントエンドとバックエンドを分離した nginx 構成を展開するための完全な手順

序文決まり文句です。ここでは、フロントエンドとバックエンドの分離についての私の理解についてお話ししま...

Linuxコマンドunzipの詳しい説明

目次1. 解凍コマンド1.1 構文1.2 オプション2. 例1. 解凍コマンドunzip コマンドは...