9 комментариев

avatar
Хуки в ЖС? Хм.
Пока затрудняюсь даже дать ответ. Нужно подумать)
avatar
ну вот. а такая сложная загадка была… думал, что придется подсказки давать =\
avatar
А не лучше ли расставлять триггеры? Жаваскрипт — язык асинхронный, ему приоритеты не нужны.
Кому надо цепочки и очереди, может использовать deferred.
avatar
приоритеты могут быть нужны порядку плагинов. типа коду второго плагина нужно выполниться обязательно перед кодом первого.

не совсем представляю, как можно применить триггер в ситуациях, например:
1. дописать в объект settings модуля markitup вначале его init'а какие-то еще кнопочки.
2. залогировать куда-то url перед выполнением ls.ajax.get

примеры можно?

таки о включении в коробку ls.hook.inject я настаиваю
avatar
Не буду спорить, вещь весьма полезная :). Модули, написанные через замыкания, еще можно переопределить, но markitup settings вшита жестко, возможно, вариант с клонированием, а потом переопределением через eval модифицированного кода функции, единственно верный. Всегда кстати интересовал вопрос про eval, не жрет ли он лишней памяти?
Напишите еще пояснение к методам? Не совсем понял про маркеры.

Аякс бы переопределил как-то так:


ls_ajax_addon = (function ($) {
        this._ajaxParent = this.ajax;
        this.ajax = function(url,params,callback,more) {
            console.log(url);    
            return this._ajaxParent(url,params,callback,more);             
        }               
        return this;
}).call(ls || {},jQuery);



Но триггеры я бы тоже расставил на все аяксовые события. Например, на приход инфо о блоге при выборе из дропдаун листа. Пришел ответ, сработал триггер, на нем висит, например, анимация в другом блоке. При этом обновление инфо о блоге и анимация могут работать одновременно.
avatar
интересовал вопрос про eval, не жрет ли он лишней памяти?
понятия не имею :)

маркер это коммент типа

...
/*beforeSend*/
$.ajax({...

в случае его присутствия в функции и указания его 3им аргументом в inject
ls.hook.inject([ls.ajax,'get'], 'alert(url)', 'beforeSend')

eval-код или вызов функции будет вкрячен прямо после этого коммента.
avatar
понятия не имею :)
Главное, что уже наконец-то искореняем motools :)
Под него ж не будет писаться?
eval-код или вызов функции будет вкрячен прямо после этого коммента.
Теперь осталось просить orta повкрячивать вызов хуков в жаваскриптах :)
avatar
не ну можно ж самим повкрячивать и коммит предложить потом. тут уж дальше эволюционный путь.

если все пойдет дальше, то скорей всего ls.hook переползет в начало main.js, а пока хуков не расставлено, то можно ему и в отдельном файле потусоваться пока
avatar
Не томи, новый год же)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.