長い間jQueryを使用した後、初めてClosureを使用しています。
getElementsByClass()から取得した複数のオブジェクトのリスナーを作成する際に問題が発生します。閉鎖でそれをどのように行うことができるか考えていますか?
goog.events.listen(
goog.dom.getElementsByClass('clone'),
goog.events.EventType.CLICK,
function(e) {
alert('hi');
}
);
上記のコードで次のエラーが発生します。
Uncaught TypeError:オブジェクト#にはメソッド'attachEvent'がありません
編集:私はこれを次のコードで動作させました。ただし、これが最も効率的な方法であるかどうかはわかりません。
var clone_buttons = goog.dom.getElementsByClass('clone');
for (var i = 0; i < clone_buttons.length; i++) {
goog.events.listen(
clone_buttons[i],
goog.events.EventType.CLICK,
function(e) {
alert('hi');
}
);
}