Показать сообщение отдельно
  #11 (permalink)  
Старый 25.11.2009, 20:16
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Denisko-Redisko
как я понимаю, проблема (учитывать что this не содержит расширенных методов) будет только у автора фреймворка
Нет, автор фреймворка пусть парится. Я про программистов. Допустим есть метод с callback-функцией, вызывается метод в контексте экземпляра Element, следовательно доступа к обертке не имеет, а значит и callback может выполнить только в контексте Element:
$(…).customMethod1(arg, function () {
    // Проверим, на что там у нас this ссылается
    if (this.customMethod2) {
        // Ага, есть такой метод, можно его дальше использовать.
        // Но в IE то этого метода нет, надо этот момент всегда в голове держать!
    }
});
А если будем передавать эту обертку в IE и вызывать callback в нужном контексте, чтобы были доступны кастомные методы, то доступ к узлу придется осуществлять через this.node, белиберда получается, в нативных метода просто this, в фреймворке $(…), $(…).node и this.node, а еще и просто this не в IE… попробуй разберись.

Сообщение от Denisko-Redisko
Нет, на глазок. Вызов одной лишней функи на один метод, не думаю что это много.
Ага, а если в цикле такой метод, с оберткой и apply внутри, вызывается для целой коллекции элементов, как это часто бывает в фреймворках? Apply имеет очень медленную реализацию в IE6, в IE7 немного побыстрее.

Последний раз редактировалось Octane, 25.11.2009 в 20:25.
Ответить с цитированием