• Как отследить появление новых элементов в DOM?

    mlnkv
    @mlnkv
    JavaScript Developer
    https://developer.mozilla.org/ru/docs/Web/API/Muta...

    // выбираем нужный элемент
    var target = document.querySelector('#some-id');
    
    // если jQuery
    var target = $('#some-id')[0];
     
    // создаем новый экземпляр наблюдателя
    var observer = new MutationObserver(function(mutations) {
      mutations.forEach(function(mutation) {
        console.log(mutation.type);
      });    
    });
     
    // создаем конфигурации для наблюдателя
    var config = { attributes: true, childList: true, characterData: true };
     
    // запускаем механизм наблюдения
    observer.observe(target,  config);
     
    // позже, если надо, прекращаем наблюдение
    observer.disconnect();
    Ответ написан
    7 комментариев
  • Для чего нужно ООП?

    Stalker_RED
    @Stalker_RED
    Для управления сложностью.
    https://habrahabr.ru/post/169487/

    Все что сделано при помощи ООП можно написать и в процедурном стиле, например, но чем сложнее проект тем сложнее будет во всей этой каше разобраться. Весь смысл ООП - разбить большущую сложную систему на кучу отдельных ПРОСТЫХ объектов, методов, сущностей.
    А еще с ООП неразлучна абстракция. Чтобы можно было одну часть программы выбросить и подменить на другую.

    Сегодня у нас выводится на веб-страничку, по которой кликают мышкой, а завтра не мышкой - а тач пальцами. А послезавтра вообще в VR шлем, и управление голосом. И если система правильно спроектирована - ее не придется переделывать ПОЛНОСТЬЮ, а только ту часть, которая ответственна за ввод/вывод.
    Ответ написан
    Комментировать
  • Как использовать список стран и маски ввода?

    Например есть masked-input

    только в нем по умолчанию есть такой момент что шаблон 9 = любая цифра

    //Твой input
    <input id="phone">
    //Список стран
    <select id="countries">
       <option data-mask="+7 (nnn) nnn-nn-nn" value="ru">Россия</option>
       <option data-mask="+380 (nnn) nnn-nn-nn"value="ua">Украина</option>
       <option data-mask="+375 (nnn) nnn-nn-nn" value="by">Беларусь</option>
    </select>


    //Удаляем девятку 
        delete jQuery.mask.definitions['9']; 
    
        //ставим свой шаблон
        //Например n = [0-9];
        jQuery.mask.definitions['n'] = '[0-9]';
     
        $('#countries').on('change', function(){
             $t = $(this);
             $('#phone').mask($t.data('mask'));
        });


    вот тут можешь взять мой список кодов для стран
    Ответ написан
    1 комментарий