変数をテストして、それが jQuery.Callbacks 型のオブジェクトであるかどうかを確認する簡単な方法を知っている人なら誰でも知っています。
背景: 私が作成したいくつかの jquery ウィジェットがあり、それぞれに jQuery.Callbacks を使用して管理されるイベントがあります。私のウィジェットのいくつかは他のウィジェットを使用し、それ自体に与えられた構成をサブウィジェットに渡します。これにはイベントが含まれます。したがって、親ウィジェットがイベントを初期化した場合、子ウィジェットで再度初期化したくない場合、または既存のサブスクリプションが失われます。
例えば:
var notCallbackHandler1='';
var notCallbackHandler2={ add: function(something) { } };
var callbackHandler=$.Callbacks();
function isVariableACallbackHandler(variable) {
// <-- What goes here?
}
isVariableACallbackHandler(notCallbackHandler1); // Should return false
isVariableACallbackHandler(notCallbackHandler2); // Should return false
isVariableACallbackHandler(callbackHandler); // Should return true