Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение скрипта если есть html элемент (https://javascript.ru/forum/dom-window/71041-vypolnenie-skripta-esli-est-html-ehlement.html)

Янковиц 21.10.2017 10:59

Выполнение скрипта если есть html элемент
 
Добрый день. Прошу совета. На сайт подключил drag and drop библиотеку. Однако, она должна работать только на определенных страницах. Подключить скрипт к конкретной странице не получится. Из-за этого происходит конфликт работы скрипта там, где отсутствуют drag and drop элементы. Как можно обойти выполнение скрипта? Хороший ли тон все функции обернуть в условие:
if ($("#mydiv").length){
(function sortableModule(factory) {
  // делаем здесь что-то 
})
}

Спасибо.

Янковиц 21.10.2017 11:00

Или есть другие оптимальные варианты. Поделитесь пожалуйста.

Sigizmund2012 24.10.2017 21:47

Цитата:

Сообщение от Янковиц (Сообщение 467898)
Добрый день. Прошу совета. На сайт подключил drag and drop библиотеку. Однако, она должна работать только на определенных страницах. Подключить скрипт к конкретной странице не получится. Из-за этого происходит конфликт работы скрипта там, где отсутствуют drag and drop элементы. Как можно обойти выполнение скрипта? Хороший ли тон все функции обернуть в условие:
if ($("#mydiv").length){
(function sortableModule(factory) {
  // делаем здесь что-то 
})
}

Спасибо.

Вполне нормальное решение, я бы так и сделал. Если у вас в url страниц с drag-n-drop есть уникальный текст, можно их парсить, например так:
if ( /dragdrop/i.test(window.location.pathname) ) {
    (function sortableModule(factory) {
         // делаем здесь что-то 
    })
}


Часовой пояс GMT +3, время: 19:40.