Pot.Signal.attach

{Object|Array} Pot.Signal.attach ({Object|Function|String} object, {String|Array} signalName, {Function} callback [, {Boolean} useCapture = false])

Pot.js と PotLite.js で利用可能。

スロットにシグナルを登録します。

Pot.Signal が保持しているハンドラリストに任意のオブジェクトとコールバック関数を登録します。
引数 object が DOM エレメントだった場合、addEventListener と同じように働きます。
引数 signalName は、登録するシグナルの名前を文字列で渡します。
signalName が配列の場合、複数のシグナルを同時に登録します。
戻り値は、detach() などに渡すことができる ハンドラオブジェクトです。
signalName が配列で複数登録した場合、戻り値は登録したハンドラオブジェクトの配列になります。
attach() と、detach() の関係は、setTimeout() と clearTimeout() の登録/解除の関係のように扱うことができます。
引数 object を文字列で渡すと id と認識され document.getElementById を使用します。
'#foo' のように シャープ記号 '#' が付いている場合、最初のシャープ記号は無視されます。
object に jQuery オブジェクトを渡すと、get(0) によって最初の要素が対象となります。

Pot.globalize() が適応されている場合、Pot.attach() が attach() で実行できます。

ユニークな ID を保持する ハンドラオブジェクトが返ります。
signalName が配列で複数登録した場合、登録したハンドラオブジェクトの配列が返ります。

// イベントを登録
//  この例では明示的に ID を示すため '#' を付けています

var handler = Pot.attach('#foo', 'click', function(ev) {
    // ...
});

// イベント解除
Pot.detach(handler);