单击嵌套的Bootstrap Dropdown <li>时阻止滚动

jon*_*nGB 10 html javascript css jquery twitter-bootstrap

我有两个Bootstrap下拉菜单(分割按钮).当下拉列表处于活动状态时,用户可以按下从1到5的数字,但是当他们按下其中任何一个时,用户将被重定向到页面顶部.

我知道这是正常行为(考虑到他们点击了"链接"),但我想阻止这种影响,因为它会影响移动体验.我尝试return false在我的jQuery代码中使用,但通过这样做,当下拉列表处于活动状态时,下拉列表中不能选择任何元素.还有其他选择吗?

HTML:

<div id="btn1">
    <div class="btn-group dropup">
      <button type="button" class="btn btn-primary">Add 1 vector</button>
      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
        <span class="sr-only">Toggle Dropdown</span>
      </button>
      <ul class="dropdown-menu" role="menu" id="ajouter">
        <li><a href="#">1</a> </li>
        <li><a href="#">2</a> </li>
        <li><a href="#">3</a> </li>
        <li><a href="#">4</a> </li>
        <li><a href="#">5</a> </li>
    </ul>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$('#ajouter a').on('click', function() {
    nombre_ajout = parseInt($(this).html());
    if (nombre_ajout > 1)
        $('#btn1 button').eq(0).html('Add ' + nombre_ajout +' vectors');
    else if (nombre_ajout == 1)
        $('#btn1 button').eq(0).html('Add ' + nombre_ajout +' vector');
});
Run Code Online (Sandbox Code Playgroud)

图片:

撷取画面

Edw*_*rdM 7

您可以尝试在锚点上一起删除"href"属性吗?

看到这篇文章:有效使用<a>(锚标签)没有href属性?


zap*_*poo 5

尝试使用下面的代码进行更改。<li>单击它可以防止滚动到顶部。

<li><a href="javascript:void(0);"> xyz </a></li>
Run Code Online (Sandbox Code Playgroud)