click、mouseover、および mouseleave 以外に、jQuery の on() 関数のイベントは他にありますか、それとも on() の主な用途ですか? 私はそれに関するドキュメントを見つけることができません。
5 に答える
組み込みの DOM イベントを使用することも、独自のイベントを作成することもできます。いくつかの組み込み DOM イベントのリストを次に示します (すべてのイベントがすべての種類のオブジェクトで発生するわけではありません)。
- クリック
- dblclick
- マウスダウン
- マウスアップ
- マウスオーバー
- マウス移動
- マウスアウト
- キーダウン
- キーアップ
- キープレス
- ロード
- アンロード
- アボート
- エラー
- サイズ変更
- スクロール
- 選択する
- 変化する
- 参加する
- リセット
- 集中
- ぼかし
- 集中する
- フォーカスアウト
- タッチスタート
- タッチエンド
- タッチムーブ
- タッチエンター
- タッチリーブ
- タッチキャンセル
- 切る
- コピー
- ペースト
- ビフォアカット
- コピー前
- 貼り付け前
- コンテキストメニュー
- 引っ張る
- ドラッグスタート
- ドラグエンター
- ドラッグオーバー
- ドラッグリーブ
- ドラグーン
- 落とす
- 選択開始
- アンロード前
- 準備完了状態変更
- 前刷り
- アフタープリント
これらのほとんどの適切な説明については、http://en.wikipedia.org/wiki/DOM_eventsを参照してください。
あなたができるParris anwserに加えて
$("#whatever").on("my.awesome_event", function(event, one, two, three){
// stuff ...
});
$("#whatever").trigger("my.awesome_event", [1,2,3]);
この例では、変数one, two, three
は値を持ちます1, 2, 3
。
on() は何にでも使えます。これは、イベントを特定の DOM 要素に委任する方法にすぎません。
チェックアウト: http://api.jquery.com/on/ バインド、ライブ、デリゲート関数を新しい「on」メソッドに「変換」する方法を説明します。
私は、変更、クリック、ぼかしなどの組み込み DOM イベントと、クラス内の独自のカスタム イベントの両方に jQuery を使用しています。カスタム イベントが必要なほとんどのクラスでは、次のようにします。
this.events = $({});
次に、次のようにカスタム イベントをバインドできます。
foo.events.on("myCustomEvent", function(e) {
// Do something
});
そして、次のようにトリガーできます。
this.events.triggerHandler("myCustomEvent");
組み込みのイベント (change、focus、mousedown、blur、touchstart など) を使用することも、独自のイベントを作成してそれらをバインドすることもできます。