2016-09-20 2 views
6

Правильное меню справа правильно работает со своими функциями. Но проблема иногда не работает должным образом. На мой взгляд, если щелкнуть правой кнопкой мыши по строке таблицы, флажок установлен правильно, но после того, как я снял флажок и попробую проверить снова, щелкнув правой кнопкой мыши, он не работает.Пользовательское меню правой кнопки мыши не работает должным образом

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

Hi @menaka, Не могли бы вы добавить ссылку jsFiddle или что-то еще, поэтому было бы легче ответить! – Ranj

+2

@ Rj_01: Извините, я не использовал jsFiddle или другое. –

+0

ok Я попробую. Спасибо людям. –

ответ

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; 
     }); 
Смежные вопросы