ваш .each неправильный.
Object.each(obj, function(el, key, obj) {
}, bind);
http://mootools.net/docs/core/Types/Object#Object:Object-each
хотя у вас фактически есть этот объект в качестве массива, не заметил :)
Array.each(function(el, index) {
}, bind);
когда вам нужно this
для привязки к элементу при нажатии, это нормально.просто сохраните копию this
в self
и вместо этого позвоните self.info()
.в качестве альтернативы, вместо этого оставьте привязку и ссылку e.target
в качестве элемента триггера, в то время как this
является вашим экземпляром
, хотя может показаться, что попытка удержать this
привязанной к классу везде, где это возможно,Разработчики mootools-core предпочитают способ var self = this;
, так как он избегает дополнительного обратного вызова для привязки и т. д. (посмотрите на источник mootools, очень часто встречающийся)
также, скажем, вы хотите, чтобы событие click переходило кпрямой метод:
element.addEvent("click", this.info.bind(this));
, который отправит событие в качестве 1-го аргумента в информацию (так что ссылка на event.target).