jQueryのコア機能とイベント処理の詳細な説明

jQueryのコア機能とイベント処理の詳細な説明

イベント

ページの読み込み

1. ready(fn) DOMがロードされ、クエリや操作の準備ができたときに実行される関数をバインドします。

 $(ドキュメント).ready(関数(){
  // ここにコードを記述します...
});
// 以下は省略形 $(function($) {
  // ここでも $ をエイリアスとして使い続けることができます...
});

2. on(events,fn)選択された要素に1つ以上のイベント処理関数をバインドします。

 // pタグにクリックイベントリスナーを追加します $("p").on("click", function(){
	アラート( $(this).text() );
});
// 2番目の書き方は上記と同等です $("p").click(function(){
	アラート( $(this).text() );
});

3. off(events,[fn])選択された要素上の1つ以上のイベントのイベント処理機能を削除します。

 // p タグにバインドされたすべてのイベント リスナーを削除します $("p").off()
// p タグにバインドされたクリック イベント リスナーを削除します $("p").off("click")

4. bind(events,fn)一致する各要素の特定のイベントにイベント処理関数をバインドします。

 // p タグにバインドされたすべてのイベント リスナーを削除します $("p").bind("click", function(){
  アラート( $(this).text() );
});
// 複数のイベントタイプを同時にバインドする $('#foo').bind('mouseenter mouseleave', function() {
  アラート();
});

5. unbind(type,fn]])bind() 、一致する各要素からバインドされたイベントを削除します。

 // すべての段落のすべてのイベントをバインド解除します $("p").unbind()
// 段落のクリックイベントをアンバインドします $("p").unbind("click")

6. one(type,[data],fn)一致する各要素の特定のイベント(クリックなど)にワンタイムイベントハンドラをバインドします。

 // すべての段落が初めてクリックされたときに、そのすべてのテキストを表示します $("p").one("click", function(){
  アラート( $(this).text() );
});

イベント委任

1. delegate(selector,[type],[data],fn)指定された要素 (選択された要素の子) に 1 つ以上のイベント ハンドラーを追加し、これらのイベントが発生したときに実行する関数を指定します。

 <div style="background-color:red">
      <p>これは段落です。 </p>
      <button>ここをクリック</button>
  </div>
// ボタンがクリックされたときに、p 要素を非表示または表示します $("div").delegate("button", "click", function () {
      $("p").スライドトグル();
  });

ここに画像の説明を挿入

2. undelegate([selector,[type],fn]) delegate()メソッドによって追加された1つ以上のイベントハンドラを削除します。

 // delegate() メソッドによって追加されたすべてのイベント ハンドラーを p 要素から削除します $("p").undelegate();
// delegate() メソッドによって p 要素から追加されたすべてのクリック イベント ハンドラーを削除します $("p").undelegate("click")

イベントの切り替え

1. hover([over,]out)ホバーイベント(マウスがオブジェクト上を移動し、オブジェクトから外れる)をシミュレートするメソッド

over : マウスが要素の上に移動したときに実行される関数

out : マウスが要素から外れたときに実行される関数

// マウスホバーのテーブルは特定のクラス $("td").hover( で追加されます
  関数 () {
    $(this).addClass("ホバー");
  },
  関数 () {
    $(this).removeClass("hover");
  }
);

イベント

1. blur([[data],fn])要素がフォーカスを失ったときにblurイベントをトリガーします。

 // マウスホバーのテーブルは特定のクラス $("td").hover( で追加されます
  関数 () {
    $(this).addClass("ホバー");
  },
  関数 () {
    $(this).removeClass("hover");
  }
);

2. change([[data],fn])要素の値が変わると、変更イベントが発生する

// 選択した要素の変更イベントをトリガーします $(selector).change();

3. click([[data],fn])一致する各要素のクリックイベントをトリガーします。

 // ページ内のすべての段落のクリック イベントをトリガーします $("p").click();

4. dblclick([[data],fn])要素をダブルクリックすると、dblclick イベントが発生します。

 // 「Hello World!」アラート ボックスをページ上の各段落のダブルクリック イベントにバインドします $("p").dblclick( function () { alert("Hello World!"); });

5. error([[data],fn])要素にエラーが発生した場合(正しくロードされていない場合)、エラーイベントが発生します。

 // サーバー上の JavaScript エラーをログに記録します。
$(window).error(function(msg, url, line){
  jQuery.post("js_error_log.php", { msg: msg, url: url, line: line });
});

6. focus([[data],fn])要素がフォーカスを得たときにフォーカスイベントをトリガーします。

 // ページが読み込まれたら、ID が 'login' の要素にフォーカスを設定します。
$(ドキュメント).ready(関数(){
  $("#ログイン").focus();
});

7. focusin([data],fn)要素がフォーカスを得たときにfocusinイベントをトリガーします。

 <p><input type="text" /> <span>フォーカスアウト ファイア</span></p>
<p><input type="password" /> <span>フォーカスアウト ファイア</span></p>
// フォーカスを取得した後、アニメーションがトリガーされます$("p").focusin(function() {
	$(this).find("span").css('display','inline').fadeOut(1000);
});

8. focusout([data],fn)要素がフォーカスを失ったときにfocusoutイベントをトリガーします。

 // フォーカスを取得した後、アニメーションがトリガーされます $("p").focusout(function() {
  $(this).find("span").css('display','inline').fadeOut(1000);
});

9. keydown([[data],fn])キーボードまたはボタンが押されると、keydownイベントが発生します。

 // ページ上のキーボードのキー入力に応答するには、次のコードを使用できます $(window).keydown(function(event){
  スイッチ(イベント.キーコード) {
    // ...
    // キーによって動作が異なります // ブラウザによってキーコードが異なります // 詳細は http://unixpapa.com/js/key.html をご覧ください
    // ...
  }
});

10. keypress([[data],fn])キーボードまたはボタンが押されると、keypressイベントが発生します。

 // 入力フィールドのキーストロークの数をカウントします $("input").keydown(function(){
  $("span").text(i+=1);
});

11. keyup([[data],fn])ボタンが放されると、keyupイベントが発生します。現在フォーカスされている要素で発生します。

 // キーが押されたら、テキストフィールドの色を変更します $("input").keyup(function(){
  $("入力").css("背景色","#D6D6FF");
});

12. mousedown([[data],fn])マウスポインタが要素上に移動し、マウスボタンが押されると、mousedownイベントが発生します。

 // マウスボタンが押されたときに、要素を非表示または表示します $("button").mousedown(function(){
  $("p").スライドトグル();
});

13. mouseenter([[data],fn])マウスポインタが要素を通過すると、mouseenterイベントが発生します。

 // マウスポインタが要素に入る(通過する)と、要素の背景色を変更します$("p").mouseenter(function(){
  $("p").css("背景色","黄色");
});

14. mouseleave([[data],fn])マウスポインタが要素から離れると、mouseleaveイベントが発生する

// マウス ポインターが要素から離れると、要素の背景色が変更されます $("p").mouseleave(function(){ $("p").css("background-color","#E9E9E4");}); // マウス ポインターが要素から離れると、要素の背景色が変更されます $("p").mouseleave(function(){
  $("p").css("背景色","#E9E9E4");
});

15. mousemove([[data],fn])マウスポインタが指定された要素内を移動すると、mousemoveイベントが発生する。

イベント座標

  • ビューポートの左上隅を基準としたevent.clientX, event.clientY
  • ページの左上隅を基準としたevent.pageX,event.pageY
  • event.offsetX,event.offsetYはイベント要素の左上隅を基準とします。
 // ページ内のマウスポインターの位置を取得します $(document).mousemove(function(e){
  $("span").text(e.pageX + ", " + e.pageY);
});

16. mouseout([[data],fn])マウスポインタが要素から離れると、mouseoutイベントが発生します。

 // マウスが要素から離れると、要素の背景色が変更されます。
$("p").mouseout(関数(){
  $("p").css("背景色","#E9E9E4");
});

17. mouseover([[data],fn])マウスポインタが要素の上にあるとき、mouseoverイベントが発生する

// マウスポインターが要素の上にあるとき、要素の背景色を変更します$("p").mouseover(function(){
  $("p").css("背景色","黄色");
});

18. mouseup([[data],fn])要素上でマウスボタンを放すと、mouseup イベントが発生します。

 // マウスボタンが放されたときに、要素を非表示または表示します $("button").mouseup(function(){
  $("p").スライドトグル();
});

19. resize([[data],fn])ブラウザウィンドウのサイズが変更されると、resize イベントが発生します。

 // ページウィンドウのサイズを変更するときに警告ウィンドウをポップアップします$(window).resize(function(){
  alert("やめてください!");
});

20. scroll([[data],fn])ユーザーが指定された要素をスクロールすると、スクロールイベントが発生します。

 // ページのスクロールバーが変更されたときに実行される関数:
$(window).scroll( 関数() { 
 	 alert("やめてください!");
});

21. select([[data],fn])テキストエリアまたはテキスト型入力要素内のテキストが選択されると、selectイベントが発生します。

 // すべての入力要素の選択イベントをトリガーします。
$("入力").select();

22. submit([[data],fn])フォームが送信されると、送信イベントが発生します。

 // このページの最初のフォームを送信します:
$("フォーム:first").submit();
// フォームの送信を禁止する:
$("form").submit( 関数() {
  false を返します。
} );

23.unload([[data],fn])ユーザーがページを離れると、unloadイベントが発生する

ページを離れるリンクをクリックする

アドレスバーに新しいURLを入力しました

進むボタンまたは戻るボタンを使用する

ブラウザを閉じる

ページを再読み込み

// ページがアンロードされたときに警告ボックスをポップアップ表示します:
$(window).unload( function () { alert("さようなら!"); } );

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • jQuery でイベントを動的にバインドするために bind を使用するときに無効なイベントを処理する方法
  • jQuery イベント処理の機能 (イベント命名メカニズム)
  • jQueryのイベント処理に関する深い理解
  • jQueryのイベント処理に関する簡単な説明
  • jQuery のイベント処理についてどれくらい知っていますか?

<<:  一般的なCSS3アニメーションの実装方法

>>:  Win10の明るさ調整効果を模倣するHTML+CSS+JSサンプルコード

推薦する

Linux ディスクとディスク パーティションを理解するための記事

序文Linux システムのすべてのハードウェア デバイスは、ファイルの形式で表現され、使用されます。...

MySQL の例 DTID マスタースレーブ原理の分析

目次1. GTIDの基本概念2. GTIDの利点3. GTIDの仕組み4. 従来のレプリケーションに...

Spring環境を構成するためのDocker-composeの手順

最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...

Baotaパネルを再起動すると、「-ModuleNotFoundError: No module named 'geventwebsocket'」というメッセージが表示されます。

背景:サーバーがFlaskプロジェクトをデプロイし、python3をインストールしたため、再起動時に...

docker を使用した pxc クラスターのインストールに関する詳細なチュートリアル

目次序文事前準備ディレクトリを作成するcustom.cnf を作成する証明書を作成するpxc クラス...

サーバーの購入と初期構築方法

しばらくサーバーいじってなかったけど、やることがなくなったのでモバイルワークスに行って海外サーバーを...

Alibaba Cloud MySQL スペースをクリーンアップする方法

今日、Alibaba Cloudからディスク警告通知を受け取りました。確認したところ、100Gのスペ...

Alibaba Cloud CentOS 7 に yum を使用して MySQL をインストールする正しい方法 (推奨)

yum クイックインストール mysql yumリポジトリを追加する rpm -Uvh http:...

Vue-cliに基づくコードセットは複数のプロジェクトをサポートします

目次アプリケーションシナリオアイデアプロジェクト構造全体的なプロジェクト構造webpack パッケー...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

<td></td> タグの境界線スタイルがブラウザに表示されない問題の解決方法

質問: 360ブラウザの互換モードなど、一部のブラウザでは、 <td style="...

異なるデータベースで DROP TABLE を書く方法

異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

Linux の RPM パッケージでインストールされた xinetd ベースのサービスの管理

目次序文1. xinetdサービスに基づく起動管理(1)Telnetサービスのインストール(2)Te...