2012-05-22 17 views
28

私が働いていたいくつかのJSコードでこの出くわした:JavaScriptでは、event.isTriggerとは何ですか?

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

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

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

+6

醜い。 'if(!e.isTrigger)'はそれをどのように記述するべきかを示します。 jQueryがこれを 'false'に明示的に設定し始めると、このコードは非常に乱雑になります。 – meagar

+6

e.isTriggerは文書化されていないので、将来のリリースでは保有されることは約束されておらず、運用コードでは使用しないでください。 – rhgb

答えて

30

jQuery 1.7.2(unminified)行3148には、トリガー機能内にネストされたevent.isTrigger = true;が含まれています。はい、正しくあります。これは、.trigger()を使用した場合にのみフラグが立てられ、イベントの処理方法を決定するために内部的に使用されます。

3

jQuery githubプロジェクトを見ると、trigger.jsファイル行49(link here)の中で、isTriggerの計算方法がわかります。かわいいですあなたはを通して、あなたのJavaScriptでトリガを追加し、デバッグする場合は、ブレークポイントは、このコードラインに到達したかを確認することができます

enter image description here

this SO questionのためのjQuery-2.1.3.jsでチェック)

関連する問題