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

时间:2016-09-20 11:50:08

标签: javascript jquery checkbox tablerow right-click

右键菜单正确使用其功能。 但问题是有时它不能正常工作。 在我的视图中,如果右键单击表格行正确选中了复选框,但在取消选中后再次尝试检查并右键单击它不起作用。

$('.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;
});

1 个答案:

答案 0 :(得分:2)

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

$(".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;
        });