Este é o efeito que estamos tentando alcançar:
As classes que precisam ser aplicadas mudaram com o lançamento do Bootstrap 3.1.0 e novamente com o lançamento do Bootstrap 4. Se uma das soluções abaixo não parece estar funcionando, verifique o número da versão do Bootstrap que você está importando e tente um diferente.
Bootstrap 3
Antes da v3.1.0
Você pode usar a pull-right
classe para alinhar o lado direito do menu com o cursor:
<li class="dropdown">
<a class="dropdown-toggle" href="#">Link</a>
<ul class="dropdown-menu pull-right">
<li>...</li>
</ul>
</li>
Fiddle: http://jsfiddle.net/joeczucha/ewzafdju/
Após a v3.1.0
A partir da v3.1.0, suspendemos o uso de .pull-right nos menus suspensos. Para alinhar um menu à direita, use .dropdown-menu-right. Os componentes de navegação alinhados à direita na barra de navegação usam uma versão mixin desta classe para alinhar automaticamente o menu. Para substituí-lo, use .dropdown-menu-left.
Você pode usar a dropdown-right
classe para alinhar o lado direito do menu com o cursor:
<li class="dropdown">
<a class="dropdown-toggle" href="#">Link</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>...</li>
</ul>
</li>
Fiddle: http://jsfiddle.net/joeczucha/1nrLafxc/
Bootstrap 4
As classes do Bootstrap 4 são iguais às do Bootstrap> 3.1.0, mas observe que o restante da marcação ao redor mudou um pouco:
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#">
Link
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#">...</a>
</div>
</li>
Fiddle: https://jsfiddle.net/joeczucha/f8h2tLoc/