As @Andrej said in this thread, you need to set the ‘INVOKE_DEFAULT’ for the operator context…
So… this will work for context_menus too:
def menu_func(self, context):
self.layout.operator_context = "INVOKE_DEFAULT"
self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label)