Всем доброго времени суток. В backbone js есть возможность структурировать вид.
var view ={
events:{
"click #id_item":'myfun'
},
myfun:function(evt){
console.log('myfun');
}
}
Как реализовать родителя на чистом js чтобы он понимал данную конструкцию ?
Как-то так:
var view ={
events:{
"click #id_item":'myfun'
},
myfun:function(evt){
console.log('myfun');
}
};
function setEvents(model){
// Тут всякие проверки, опустим для наглядности
Object.keys(model.events).forEach(part => {
// Разделяем событие и селектор (т. к. селектор может содержать пробелы, собираем оставшиеся кусочки и склеиваем их)
let [eventName, ...selector] = part.split(' ');
selector = selector.join(' ');
let element = document.querySelector(selector);
// Если по селектору ничего не нашли - выход
if(element === null) return;
// Навешивание слушателя
// Довольно странно что методы не лежат в отдельном ключе типа methods
element.addEventListener(eventName, model[model.events[part]]);
});
}
setEvents(view);
<div>
<span id='id_item'>Я тут</span><br />
<span id='something'>Это не я</span>
</div>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть некая функция, точнее часть об общего скрипта, вызываемая при нажатии:
Есть форма, в ней кнопка, которая обрабатывает введенные данные из формыЕсть CSS с анимацией этой формы
Нашел меню для мобильных версий, скопировал, переименовал классы, стили писал лишь нужные, но почему-то не работает