1

dateアンカーをクリックすると、それが定義されていないことがわかります。パラメータが、渡す自己呼び出し関数のスコープ内にあることを確認するにはどうすればよいonclickですか?

var date = today; // today is well-defined at this point.

html += '<a onclick="(function(obj, myDate) { \
        return function() { \
           obj.render(myDate.setMonth(myDate.getMonth() - 1));  \
        };  \
      })(this, date);">&lt;</a>'

編集: この HTML は有効ですか?

today明確に定義されています。このコード スニペットは、この関数内に存在します。

Calendar.prototype.render = function(date) {

}
4

1 に答える 1

3

イベントが発生したとき、それが持つ唯一のコンテキストはウィンドウ コンテキストです。

属性を使用するときにイベント コールバック コード内で使用できるようにするには、グローバル変数を設定する必要がありon<event>ます。

于 2012-05-22T22:49:27.010 に答える