Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2023, 01:17
Аватар для Ops
Ops Ops вне форума
Аспирант
Отправить личное сообщение для Ops Посмотреть профиль Найти все сообщения от Ops
 
Регистрация: 03.03.2016
Сообщений: 33

Стилизованный input number
Есть стилизованный JS инпут, в рамках большого скрипта, пытаюсь сделать чтобы при событие нажатия на ЛКМ (onmousedown) он изменял значение, он изменяет, но естественно один раз, пробовал сделать через setinterval чтобы тело функции запускалось раз в 300мс, а на onmouseup поставить сброс, но почему то не работает.


$$('.up, .down', box).forEach((el)=>{
        el.onclick = ()=>{
          this.activatenumber(el);
          this.sumForm(form);
          form.dispatchEvent(new Event("change"));
        }
      });


Буду очень признателен за помощь с таким вариантом или советы как сделать по другому. Мне нужно чтобы при нажатие на стилизованную кнопку - значение поля увеличивалось или уменьшалось без необходимости каждый раз кликать (как это работает в браузере по дефолту).
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2023, 01:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,084

Ops,
как вариант ...
let timer;
        $$('.up, .down', box).forEach((el) => {
            el.onmousedown = () => {
                window.clearInterval(timer);
                let tt = this;
                timer = window.setInterval(() => {
                    tt.activatenumber(el);
                    tt.sumForm(form);
                    form.dispatchEvent(new Event("change"));
                }, 350)

            };
            el.onmouseup = () => {
                window.clearInterval(timer);
            }
        });
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2023, 02:24
Аватар для Ops
Ops Ops вне форума
Аспирант
Отправить личное сообщение для Ops Посмотреть профиль Найти все сообщения от Ops
 
Регистрация: 03.03.2016
Сообщений: 33

Работает, спасибо! Понял вы this поместили в переменную, поэтому не работало
Ответить с цитированием
  #4 (permalink)  
Старый 20.09.2023, 13:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,520

Шо? Помещение this в переменную тут вообще ни к чему. А заработало оно потому что рони сделал именно то, что ты описан в вопросе. =\
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Input Number разделить тысяч Iwashka Элементы интерфейса 1 01.12.2017 12:21
jQuery UI Slider - привязка с input type number Argeares Элементы интерфейса 3 20.06.2017 15:36
Динамическое копирование значения из input в input с одинаковыми атрибутами name ami_moor jQuery 2 10.08.2016 17:02
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55