Как исправить дубилирование события клик?

Есть js скрипт который отвечает за открытие выбора статуса и непосредственно выбора по клику. При повторном открытии выбора статуса и клика по статусу происходит дублирование события клик.

Js

// активируем выбор статуса
  $('body').on('click', '.StatusLoadList', function(){
                
        var obj = this;
        id =  obj.getAttribute('id') || 'status-check';
        this.checkStatus = $("#check_"+id+"");
        console.log(this.checkStatus);
        this.placeholder = this.checkStatus.children('span');
        this.opts = this.checkStatus.find('ul.dropdown > li');
        this.checkStatus.toggleClass('active');
 // выбираем статус             
        obj.opts.on('click',function(){
            var opt = $(this);
            console.log('выбрали статус');
        });
 });

При этом, если хочется выбрать и еще раз изменить статус, то можно было это сделать, но предыдущее событие клик не дубилировалось.


Ответы (1 шт):

Автор решения: Алексей Шиманский

Оно?

$('body').on('click', '.StatusLoadList', function(){
    ....
    ....
             
    obj.opts.off('click').on('click',function(){
        var opt = $(this);
        console.log('выбрали статус');
    });
});
→ Ссылка