Я создаю новый элемент в Mootools, у которого есть события, таким образом:
var div = new Element('div', {
id: 'dynamic',
'class': 'injected',
styles: {
color: '#f55'
},
html: 'Hong Kong Phooey, number one super guy. Hong Kong Phooey, quicker than the human eye. He\'s got style, a groovy style, and a car that just won\'t stop. When the going gets tough, he\'s really rough, with a Hong Kong Phooey chop (Hi-Ya!). Hong Kong Phooey, number one super guy. Kong Phooey, number one super guy. Hong Kong Phooey, quicker than the human eye. He\'s got style, a groovy style, and a car that just won\'t stop. When the going gets tough, he\'s really rough, with a Hong Kong Phooey chop (Hi-Ya!). Hong Kong Phooey, number one super guy.',
events: {
click: function(event) {
alert('clicked');
},
mouseenter: function(event) {
var self = $('dynamic');
self.setStyle('color', '#090');
},
mouseleave: function(event) {
var self = $('dynamic');
self.setStyle('color', '#f55');
}
}
});
div.inject(document.body);
Это плохая техника, чтобы получить div с self = $ ('dynamic') в каждом событии?Я пытался
mouseenter: function(event) {
this.setStyle('color', '#090');
}.bind(this)
думать, что «это» будет относиться к элементу, который я строил.Но вместо этого оно относится к глобальному окну.
Правильно ли я поступаю?
Спасибо!