6

trigger()Facebook JS SDKには、jQueryの関数と同等の機能がありFB.Event.fire 、特定のイベントにアタッチするハンドラーをトリガーできます。QUnitでのユニットテストに役立ちます。基本的には期待どおりに機能します。FB.Event.fire("comment.create", location.href);イベントのハンドラーを起動しますcomment.create

TwitterのWebインテントのオブジェクトはtwttr、似ているように見えますtwttr.events.trigger()が、文書化されていません。

ただし、エラーをスローせずに、コードで正しくトリガーする方法を理解することはできません。

このオブジェクトにアタッチするハンドラーをプログラムでテストするにはどうすればよいですか?

次のようなコードの場合:

twttr.events.bind("click", function(intent){
    console.dir(intent);
});

私は次のようなことをすることでそれをトリガーできると期待しています:twttr.events.trigger("click")

試したすべての結果でエラーが発生し、難読化されたソースコードを解読できません。

JSFiddleにいくつかの基本的なコードを載せました:http://jsfiddle.net/YL6SN/

4

1 に答える 1

4

こんにちはYahelいい質問、

これを呼び出すと機能するはずです:

twttr.events.trigger("click", {});

コールバックに返されるオブジェクトである2番目のパラメーターが必要です。自然に発生すると、このオブジェクトには他のパラメータが入力されます

{target: b,region: "intent",type: "click",data: {}}

私が提案したように空のオブジェクトを渡すと、それも機能しますが、typeこれはトリガーによって追加されるため、コールバックではプロパティのみを含むオブジェクトを受け取ります。

そして、それはまさに、2番目のパラメーターを渡さなかったときにトリガーしたエラーでした。typeパラメータをに追加しようとしundefined、その後停止します。

于 2011-09-08T21:44:40.653 に答える