私は JavaScript 初心者です。EventListener を Node.on('click', foo); に追加する必要がありました。そして私の最初の試みは - もちろん - 失敗でした:
var i = 0;
Y.one('#btnDel' + i).on('click', function () {
    Y.one('#part' + i).remove(true);
});
そのようなものが「JavaScript: The Good Parts」の本にあったことを思い出し、それを見つけました (ページ 39):
var add_the_handlers = function (nodes) {
    var i;
    for (i = 0; i < nodes.length; i += 1) {
        nodes[i].onclick = function (i) {
            return function (e) {
                alert(e);
            };
         }(i);
     }
};
しかし、それもうまくいきません。もう一度 (21 回目) 見てみると、何か問題がありました。引数 'e' を必要とする内部関数を返しますが、'i' は内部関数に呼び出されず、外部関数にのみ呼び出されます。私はこれを「修正」し、今では YUI で動作します:
 Y.one('#btnDel' + i).on('click', function (i) {
    return function () {
        Y.one('#part' + i).remove(true);
    }
}(i));
errata パッケージに、誰かがこの「修正」も書きました。しかし、著者 (Crockford!) はまだ書籍版に固執しています。私が監督しているものはありますか?私のバージョンが私のケースで機能するのは偶然ですか?
ps:i匿名リターン関数を にバインドするとthis.i、これはグローバル オブジェクトになりますか?
pps: 私の素晴らしい英語でごめんなさい。:|