Ответы пользователя по тегу JavaScript
  • Как выровнять внутренние элементы в соседних блоках?

    usyninis
    @usyninis
    react-эксперт
    довольно частая задача во фронтенде - обычно решается совместно с дизайнерами, тк ориентироваться на соседние блоки - это всегда ущерб для текущего элемента (при названии фильма в одну строчку - он в любом случае будет отличаться от названия в 2 и более строки), поэтому оптимальным решением всегда считалось следующее:
    для заголовка всегда выделяем высоту в 2 строки - все что больше 2х строк уходит в троеточие
    5c51aa3ea6b88197998358.png
    Ответ написан
    Комментировать
  • Простые библиотеки для редактирования JSON в React.js?

    usyninis
    @usyninis
    react-эксперт
    я однажды делал похожий функционал, но не стал искать именно под react, а просто написал свою простенькую обертку (react-компонент), в котором в componentDidMount инициировал библиотеку для работы с json:
    https://github.com/josdejong/jsoneditor

    она гибкая и обладает всем необходимым тебе функционалом
    Ответ написан
    Комментировать
  • Можно ли в событии change для input file отличить добавление файла от удаления?

    usyninis
    @usyninis
    react-эксперт
    Ответ написан
    Комментировать
  • Как выполнить append только один раз?

    usyninis
    @usyninis
    react-эксперт
    var form = document.forms.mess;
    var show = false; // флаг показа ошибки
    var msg = form.username;
    
    form.addEventListener('submit', function(e){
       e.preventDefault();
    
    msg.addEventListener('keydown', function(e){
    
         if(e.keyCode === 13) {
            if (this.value !== '') {
               console.log(this.value); 
               this.value = '';
               show = false; // тут надо удалить блок с ошибкой и выключить флаг
            } else {
                  alert('Пустое поле - заполните его!');
                  if (show) return; // если уже показана, то ничего не делаем
                  show = true; // включаем флаг о том что показано сообщение
                  var error = document.createElement('p');
    
                     error.innerHTML = 'Ошибка ввода!';
                     error.className = 'error';
                     form.append(error);
                     form.previousElementSibling.remove('error');
            }
    
         }
    });
    });
    Ответ написан
    Комментировать
  • Как поместить iframe всей высотой на страницу без скрола?

    usyninis
    @usyninis
    react-эксперт
    Реализовывал подобное через Window.postMessage()

    Сайт внутри фрейма средствами js считывает свою высоту и передает в postMessage.
    Сайт, на который встроен фрейм слушает сообщение и меняет высоту фрейма на полученное значение.

    Одна особенность: если высота сайта внутри фрейма может меняться, то на каждое изменение высоты надо добавлять передачу нового значения высоты
    Ответ написан
    Комментировать