Отменить предыдущий правый клик

имеем след. ф-цию:

function rightContextMenu() {
    setTimeout(function() {
        $(".file-list").each(function() {
            document.oncontextmenu = function() {return false;}; //отключить выпадающее меню
            $(this).mousedown(function(e){
                if(e.button == 2) { //2  - правый клик, 3 - средний клик
                    $(this).append('' +
                        '<ul class="context-menu">' +
                        '<li><a href="javascript:void(0)" class="edit-file"><i class="fa fa-fw fa-lg fa-pencil"></i> Редактировать файл</a></li>' +
                        '<li><a href="javascript:void(0)" class="del-file"><i class="fa fa-fw fa-lg fa-trash"></i> Удалить</a></li>' +
                        '</ul>');
                    return false;
                }
                let fileName = $(this['childNodes'][0]).attr('data-file');
                $('body').on('click', '.edit-file', function() {
                    $.ajax({
                        url: adminpath + '/landing/edit-file',
                        type: 'POST',
                        dataType: 'html',
                        data: {file: fileName},
                        success: function(data) {
                            $('.folder-window').fadeIn(500);
                            $('.editor-file').fadeIn(500);
                            $('.folder-window-child').fadeOut(500);
                            $('#editor-file').val(data);
                            $('#editor-file-name').val(fileName);
                        },
                        error:  function(xhr, str){
                            alert('Возникла ошибка: ' + xhr.responseCode);
                        }
                    });
                });
                return true;
            });
        });
    }, 500);
}

Которая правым кликом мыши вызывает контекстное меню в виде html кода. Вызывается при клике на списки с файлами, так вот, если кликнуть правой кнопкой по одному файлу, то все нормально, но если кликнуть потом по второму файлу, то предыдущее контекстное меню висит открытым и вместе с тем открывается новое такое же контекстное меню. Как закрыть предыдущее?


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