41

私が取り組んでいたいくつかのJSコードでこれに出くわしました:

if ( typeof( e.isTrigger ) == 'undefined' ) {
// do some stuff            
}

これは jQuery の一部のようです。私が見る限り、イベントがユーザーによって発生したか、自動的に発生したかがわかります。

これは正しいですか?そして、それが文書化されていないことを考えると、jQuery API の背後に行かずにそのようなことを見つける方法はありますか?

4

3 に答える 3

39

jQuery 1.7.2 (縮小されていない) では、3148 行目event.isTrigger = true;にトリガー関数内にネストされた内容が含まれています。そうです、あなたは正しいです-これは使用時にのみフラグが立てられ、.trigger()イベントの処理方法を決定するために内部的に使用されます。

于 2012-05-22T14:36:46.200 に答える
7

jQuery github プロジェクトを見ると、trigger.js ファイルの 49 行目 (ここにリンク) で isTrigger がどのように計算されるかがわかります。

ここに画像の説明を入力

JavaScript にトリガーを追加してデバッグすると、ブレークポイントがこのコードラインに到達する方法を確認できます (この SO の質問については jQuery-2.1.3.js で確認してください) 。

于 2015-11-25T05:37:15.140 に答える