JQuery динамически генерируемый диапазонный слайдер

Для школьного задания пишу приложение Cordova. У меня есть несколько динамически генерируемых слайдеров, для которых я использую rangelsider.js. Обычный код для использования ползунка диапазонов:

$('input[type = "range"]').rangeslider({
    polyfill: false,
    onInit: function () {
        //Do stuff
    },
    onSlideEnd: function () {
        console.info("slider id: " +this.id);
    },
    onSlide: function () {
        //Do stuff
    }
});

Теперь я хочу, чтобы эта работа работала, когда ползунки генерируются динамически. Большая часть информации, которую я нахожу о том, как это сделать, касается кнопок, например:

$(document).on("click", ".button", function(){ //do stuff });

Итак, когда я пытаюсь сделать это с помощью моих ползунков, вот так:

$('#sliders').on("change", '.rangeslider', function () {
    $('input[type = "range"]').rangeslider({
        polyfill: false,
        onInit: function () {
            //do stuff
        },
        onSlideEnd: function () {
            console.info(this.id);
        },
        onSlide: function () {
            do stuff
        }
    });
});

Теперь это работает с одним исключением. Когда страница страницы / приложение загружается, ползунки не содержат CSS и выглядят так же, как обычные ползунки HTML, пока я не нажму на один из них. Это логично, потому что .rangeslider({...}) (который добавляет CSS) не происходит до тех пор, пока не сработает событие «изменение». Так как бы мне это исправить. Я пробовал разные вещи с .ready() и DOMNodeInserted, чтобы запускать .rangeslider(), когда ползунки загружены, но, похоже, ни один из них не работает. Я также нашел кое-что о MutationObserver(), но я действительно не понимаю, как его использовать (в моем коде).

Отказ от ответственности Я очень плохо разбираюсь в JavaScript / jQuery, поэтому, если вы знаете решение, приведите пример.

Спасибо,

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
62
1

Ответы 1

$(document).ready(function() {
$('input[type = "range"]').rangeslider({
    polyfill: false,
    onInit: function () {
        //do stuff
    },
    onSlideEnd: function () {
        console.info(this.id);
    },
    onSlide: function () {
        do stuff
    }
});

});

Убедитесь, что этот код находится после загрузки jquery и загрузки rangelider.js. Спасибо,

Другие вопросы по теме