Как сделать блок некликабельным

377
06 августа 2021, 16:50

Есть скрипт выпадающего блока, проблема в том, если его открыть, то он закрывается по любому клику (не важно кликните вы по открывшимся блоке или за его пределами).
Подскажите, что надо изменить в коде, что бы окно закрывалось только при клике за его пределами, но не по клике по нем.

function DropDown(el) {
    this.dd = el;
    this.initEvents();
}
DropDown.prototype = {
    initEvents: function() {
        var obj = this;
        obj.dd.on('click', function(event) {
            $(this).toggleClass('active');
            event.stopPropagation();
        });
    }
}
$(function() {
    var dd = new DropDown($('#wrapper-polz'));
    $(document).click(function() {
        $('.wrapper-polz').removeClass('active');
    });
});
Answer 1

Использовал вот такой скрипт

$(".wrapper").click(function() {
  $('.dropdown').toggle();
});
$(document).on('click', function(e) {
  if (!$(e.target).closest(".dropdown2").length) {
    $('.dropdown').hide();
  }
  e.stopPropagation();
});
Answer 2

Не совсем понял вопрос, но можно блоку добавить css свойство pointer-events со значением none

.block {
  pointer-events: none;
}

Подробнее тут https://developer.mozilla.org/ru/docs/Web/CSS/pointer-events

READ ALSO
Передача данных между элементами React

Передача данных между элементами React

Пытаюсь разобраться, как передавать данные между siblings-компонентамиИдея такая: нужно сделать так, чтоб класс active был только у одного child-компонента...

176
TodoList React || Ошибка, возможно синтаксис

TodoList React || Ошибка, возможно синтаксис

Два дня ломаю голову, не могу найти ошибку, гуру React помогитеВот код -

249
Пробелы в JavaScript

Пробелы в JavaScript

Решал задачку, условие которой построить "башню" с заданным к-л этажейВот так выглядит мой результат при nFloors = 5

116