#javascript #events #mootools
#javascript #Мероприятия #mootools
Вопрос:
Существует ли синтаксис для следующего:
$$('.a-lot-of-elems').addEvent('someevent',somefunction);
Комментарии:
1. Это должно просто сработать. Элемент, конечно, должен поддерживать событие.
2. … Хотя я не уверен, работает ли это для 1.1.2. Какую версию вы используете?
3. @Htbaa Я использую последнюю версию.
Ответ №1:
Во-первых, следующее будет работать просто отлично.
$$(selector).addEvents({
click: fn
});
Не используйте for для перебора коллекции элементов, вместо этого используйте each:
$$(selector).each(function(el){
el.addEvents({
click: fn
});
});
Вот рабочий пример: http://jsfiddle.net/EPYBx
Ответ №2:
Вам просто не хватает типа события.
var someFunction = function(e) {
alert('clicked!');
}
$$('.a-lot-of-elems').addEvent('click', somefunction);
В качестве альтернативы вы можете использовать
$$('.a-lot-of-elems').addEvent('click', function(e) {
alert('clicked!');
});
Комментарии:
1. Виноват, я хотел привести общий пример того, что мне нужно.
Ответ №3:
что-то вроде
var elements = $$('.a-lot-of-elems')
for(var i = 0 ; i < elements.length ; i = i 1)
{
elements[i].addEvent(somefunction);
}
должно получиться!
Комментарии:
1. $ используется для извлечения элемента по идентификатору. Это не сработает. Вы должны использовать $$ для извлечения всех элементов, соответствующих селектору.
2. @thecoshman спасибо, я знаком с этим способом, я ищу более короткий способ написать это.