右键单击自定义菜单无法正常工作

Right click custom menu is not working properly

右键单击菜单可正确使用其功能。 但问题是有时它无法正常工作。 在我看来,如果右键单击 table 行会正确选中该复选框,但在我取消选中并尝试右键单击它再次选中后它不起作用。

$('.check').bind("contextmenu", function (event) {
    event.preventDefault();

    $(".custom-menu").finish().toggle(100).css({
        top: event.pageY + "px",
        left: event.pageX + "px"
    });
});


$(document).bind("mousedown", function (e) {
    if (!$(e.target).parents(".custom-menu").length > 0) {
        $(".custom-menu").hide(100);
    }
});


$('tr.check').contextmenu(function (e) {
    $cb = $(this).find('input[type="checkbox"].selected_check');
    $($cb).attr('checked', 'checked');
    populate_context_menu($cb);

    return false;
});

我用一些代码行更改了我的代码,这对我很有帮助。

$(".custom-menu li").click(function () {

   $(".custom-menu").hide(100);
});

 function isExist(id) {
    for (var i = 0; i < values.length; i++) {
    if (values[i] == id) {
        return true;
    }
 }
  return false;
 }

 $('tr.check').contextmenu(function (e) {

    $cb = $(this).find('input[type="checkbox"].selected_check');
        var id = $($cb).attr('id');
        var result = isExist(id);

        if (!result) {
            $('.selected_check').attr('checked', false);
            $('.check').removeClass('highlight_row');
            $('.check').addClass('td_bgcolor');
        }

        $($cb).attr('checked', 'checked');

        populate_context_menu($cb);

           return false;
        });