Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2022, 20:58
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Как отменить клик?
Привет. Ковыряю клендарь evo-calendar

Там есть метод клика по дате.
$('.wd_app_calendar').on('selectDate', function (e) {...})


(На $('.wd_app_calendar') происходит инициализация календаря).

При задании дню какого либо мероприятия в контейнер даты добавляются html строки
<span class="event-calendar">...</span>


Мне нужно запретить клик по этим числам. Начал делать так. Получил объекты чисел и тем у кого есть в дочерних этот span присвоил класс diss
var days = document.querySelectorAll('.day');
  days.forEach(function(item, i, days) {
    var f = $(item).find('.event-indicator');
    if(f.length)$(item).addClass('diss')   
  });


Теперь как мне при клике на число, отменить клик?
Ответить с цитированием
  #2 (permalink)  
Старый 09.10.2022, 22:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
что делает клик?
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2022, 09:46
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Сообщение от рони
что делает клик?
Меняет классы, посылает запрос(или нет, в зависимости от условий), присоеденяет данные с помощью data()
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2022, 09:49
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Пытался сделать так
$('.wd_app_calendar').on('selectDate', function (e) {

  days.forEach(function(item, i, days) {
  if($(item)[0].classList.contains('diss')){
  e.preventDefault();
  return false;
}
  });
...
});

Но не работает. Подозреваю, потому, что клик по другому селектору или хз)
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2022, 12:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

ureech,
нафиг классы, подозреваю что есть массив дат, сравните дату по которой клинули с этим массивом, и делайте что вам нужно если даты нет в этом массиве.
примерно так
$('.wd_app_calendar').on('selectDate', function (e, date) {if(!dates.find(obj => obj.date === date))  {/* что-то делаем */}})
Ответить с цитированием
  #6 (permalink)  
Старый 10.10.2022, 15:50
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Ок спасибо. Мысль понятна. Буду пробовать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отличить клик от выделения? winch jQuery 1 08.05.2015 13:10
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как сделать клик по ссылке с другой ссылки или div ? ilyas-> Элементы интерфейса 15 01.08.2013 12:49
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Как отменить прокрутку при клике Alekson jQuery 1 30.03.2009 20:53