Как применить один и тот же плагин jQuery к нескольким элементам? - PullRequest
0 голосов
/ 30 августа 2018

Можно ли применить один и тот же плагин jQuery к нескольким элементам на одной странице? Или для обмена данными и событиями между различными экземплярами плагина?

Я создал плагин jQuery, который загружает данные сервера в фоновом режиме для отображения диаграммы Highcarts.

// HTML Code
...
<div id="content">
    <div id="chart1" class="chart" data-src="/url1"...>...</div>
    <div id="chart2" class="chart" data-src="/url2"...>...</div>
</diV>

<script>
    ;(function($) {
        ...
        // Create the Chart-Plugin for every chart element...
        $(".chart").myChart();
    })(jQuery);
</script>


// The Plugin:
;
(function($, window, document, undefined) {
    // Config the Highchart, load data from the data-src url, etc.
})(jQuery, window, document);

Это прекрасно работает, и нет проблем обрабатывать разные графики на одной странице. Каждый график имеет свой собственный плагин и обрабатывается независимо.

НО: Что если chart1 и chart2 должны показывать / использовать одни и те же данные?

Например, на адаптивной веб-странице разные версии одного и того же элемента диаграммы могут быть размещены в разных положениях, в разных стилях и т. Д. Одна версия, которая видна при просмотре на большом экране, одна версия, которая будет видна на мобильном телефоне. устройства и т. д.

Конечно, приведенный выше код также будет работать нормально в этом сценарии, но нет необходимости загружать данные с сервера дважды. Это снизит нагрузку на серверы, если данные будут загружены один раз и затем будут применены ко всем версиям / копиям диаграммы.

Есть ли правильный / рекомендуемый способ решить эту проблему?

Являются ли плагины все еще хорошим / возможным решением в таких случаях, или есть лучшие шаблоны для решения этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...