Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2017, 14:31
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Шаблон для своей jQuery
Шаблон для своей jQuery:

function $(s){ return new Q(document.querySelectorAll(s)); }

function Q(x){
    this.x = x;
    this.toggle = function(v, c){
        for(var i = 0; i < this.x.length; i++){
            this.x[i].addEventListener(v, function(){
                this.classList.toggle(c);
            });
        }
        return this;
    }
}


Используется так:

$('.class').toggle('click', 'class-active');


Остается только добавить методов. Например:

this.on = function(v, f){
        for(var i = 0; i < this.x.length; i++){
            this.x[i].addEventListener(v, f);
        }
        return this;
    }


Теперь можно использовать так:

$('.class').toggle('click', 'class-active').on('click', function(){alert('1');});


Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2017, 14:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

void(),
https://javascript.ru/forum/project/...tml#post438821
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2017, 14:43
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

рони,
Ничеси, надо разобраться)
Ответить с цитированием
  #4 (permalink)  
Старый 23.09.2017, 20:19
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

void(),
у тебя получается бессмысленный перерасход памяти, т.е. каждый новосозданный объект хранит одинаковые копии методов.
Ответить с цитированием
  #5 (permalink)  
Старый 23.09.2017, 22:44
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Rise,
Спасибо за подсказку. Попробую переделать через прототипы и еще поизучаю вашу библиотеку на предмет каких-то идей. Еще я думаю, тут есть проблема с циклами, которые будут все время копироваться, почти в каждом методе, что не очень круто. И, наверно, не лучшая кроссбраузерность. Хотя последний фактор меня пока трогает мало.
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2017, 00:00
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Rise,
а какой паттерн в твоей либе?
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2017, 00:13
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Rasy,
паттерн чего?
Ответить с цитированием
  #8 (permalink)  
Старый 24.09.2017, 00:19
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от Rise
паттерн чего?
кода. В своей либе использую паттерн "Модуль".
Ответить с цитированием
  #9 (permalink)  
Старый 24.09.2017, 06:17
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Rasy,
да разные паттерны там есть и могут быть, по аналогии с jquery, подробнее здесь, а паттерны кода это может быть всё что угодно, например такую запись в либе "context || document" можно назвать паттерном параметров функции по умолчанию.
Ответить с цитированием
  #10 (permalink)  
Старый 24.09.2017, 08:32
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Rise,
Design Pattern
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery для загрузки страницы в <div> Dr.Holerik jQuery 12 11.10.2016 17:36
Работа для знатока jQuery virtualbrest Работа 0 24.07.2013 16:05
Темы для Jquery UI wUI jQuery 0 07.04.2013 18:09
Не работает форма для сбора информации на jquery Ranetka jQuery 10 13.10.2012 14:01