MotionBox: прототайп на стеройдах
Ребята из MotionBox выпустили новую библиотеку, основанную на прототайпe, которая упрощает управление и делегирование событий. Теперь можно привязывать обработчики событий (как правильно перевести bind?) к элементам, даже если они ещё не существуют.
Это очень удобно для сайтов с использованием аякса. Допустим у вас есть такой код:
Мы ждём клик по LI элементам и выдаём alert. Теперь представте, что аяксом мы подгрузили еще один LI элемент и вставили его в UL. Можно хоть до посинения по нему кликать - никакого alert'a не появится. Для него надо отдельно писать новый click observer.
А теперь то же самое с MotionBox:
Теперь сколько бы LI элементов мы не добавили - у всех будет выскакивать alert при клике. Главное чтобы у всех LI был класс "my_li_class".
Так же можно подписываться на события у элементов по ID:
-
MBX.EventHandler.subscribe("#one", "click", my_listener);
Или подписываться на события сразу у нескольких элементов:
-
MBX.EventHandler.subscribe([".my_ul_class", "#one"], ["click", "mouseover"], [my_listener, my_second_listener]);
Тут другие примеры и документация. Очень классная библиотека. Я буду у себя использовать
4 Comments so far
Leave a reply
В принципе обалденная штуковина (особенно для INPUTov) - я так думаю
Создал:
First
Second
MBX.EventHandler.subscribe(”.my_li_class”, “click”, function(){alert(”Clicked”)});
А он не работет!
В чем ошибка?
Вот текст
‘
‘
‘
‘
‘ First
‘ Second
‘
‘
‘ MBX.EventHandler.subscribe(”.my_li_class”, “click”, function(){alert(”Clicked”)});
‘
‘
И снова я.
>Oleg_AT
А не работает потому что надо до конца читать
Конечно, минус автору что не показал полный скрипт!
А ведь надо еще и прототайп библиотеку подключить
Причем версии 1.5.0 RC1
вообщем у себя на сайте я разместил рабочий пример
Добро пожаловать на http://www.sisadmizena.dp.ua/prototype_on_steroids/