2016-09-20 1 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

こんにちは@menaka、jsFiddleのリンクなどを追加して回答してください。 – Ranj

+2

@ Rj_01:申し訳ありませんが、私はjsFiddleなどを使用しませんでした。 –

+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; 
     }); 
関連する問題