なぜ機能しないのかわかりません。コードは問題ないと思います。何が問題なのか教えていただけますか? しばらくしてからクラスを追加する必要があります...
$('.main_menu ul li').mouseenter(function(){
setTimeout(function(){
$(this).children('.sub_menu_main').addClass('opened')
},200);
});
$('.main_menu ul li').mouseleave(function(){
$(this).children('.sub_menu_main').removeClass('opened')
});