Задать вопрос

Как запретить появление элемента по второму клику?

Добрый вечер. На странице есть элементы, при клике на которые появляется тулбар ( через .append), кликнув на элемент, тулбар появляется, при клике на документ, тулбар исчезает. Проблема в том, что если тулбар уже открыт, при повторном клике на этот же элемент ( на который мы кликнули чтобы открыть тулбар, на данный момент, это выглядит вот так: take.ms/b5giM ), тулбар заново делает .append и проигрывает анимацию. Как можно избежать повторного появления тулбара по второму клику по этому же элементу? Спасибо!

var Link = function(collection, el){
    el.on('mouseup', function(e){
        $('[el-button]').click(function(e){
            e.preventDefault();
        });

        var _toolbar = new Toolbar({link: el});
        var toolbar  = _toolbar.render();

        setTimeout(function(){
              toolbar.addClass('in');
  },100);

        $('body').prepend(toolbar);

        toolbar.css({
            left: el.offset().left,
            top: el.offset().top - toolbar.height() - 10  
        });

        setTimeout(function(){
            $(document).on('mouseup', function(e){
                if($(e.target).closest(toolbar).length == 0){
                    $(el).unbind('click', arguments.callee);
                        toolbar.removeClass('in');
                        toolbar.remove();
                }
            });
        }, 100);
    });

    el.bind('linkChange', function(){
        var section = el.parents('section');
        var index   = section.index();
        var model   = collection.at(index);
        model.set(Helper.sectionToObj(section))
    });
}

return Link;
  • Вопрос задан
  • 2495 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Panda_Tamara
Разработчик проектов под UMI.CMS
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы