$(document).ready(function() {
$('.dropdown').click(function(e) {
$(this).find('.lang-menu').toggleClass('open');
$($(e.target).find('.down-caret').toggleClass('open-caret'));
e.preventDefault();
e.stopPropagation();
$(document).click(function() {
$('.lang-menu').removeClass('open');
document.location.href = $(this).next().attr('href');
$('.down-caret').removeClass('open-caret');
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown lang">
<a class="langswitch" href="/">РУС<span class="down-caret"></span></a>
<ul class="lang-menu">
<li><a href="/ua/">УКР</a></li>
</ul>
</div>
У вас ссылка лежит внутри контейнера, который обрабатывает событие onclick. Вы, вызовом e.preventDefault(); отключаете стандартную обработку события и, тем самым, мешаете распространить событие вглубь контейнера.
Уберите эту строку и все заработает
$(document).ready(function() {
$('.dropdown').click(function(e) {
$(this).find('.lang-menu').toggleClass('open');
$($(e.target).find('.down-caret').toggleClass('open-caret'));
// e.preventDefault();
e.stopPropagation();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown lang">
<a class="langswitch" href="/">РУС<span class="down-caret"></span></a>
<ul class="lang-menu">
<li><a href="javascript:alert('Go!')">УКР</a></li>
</ul>
</div>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости