【发布时间】:2015-04-21 05:56:19
【问题描述】:
这是我正在使用的代码。这在 codepen 中运行良好,但在我的本地站点中却不行。 当我在下拉菜单外打开一个模式时,它很好,但不在下拉菜单内。
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
</button>
<ul class="dropdown-menu ul-drp" role="menu">
<li class="li-drp"><a href="#" data-toggle="modal" data-target="#myModal"> Edit</a></li>
<li class="li-drp"><a href="#"> Delete</a></li>
</ul>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
我正在将此 js 代码用于其他下拉菜单以保持活动状态
<script>
$('.dropdown-menu').click(function (event) {
event.stopPropagation();
});
</script>
如果我删除此代码,则它可以正常工作,但我希望此下拉菜单保持活动状态并打开一个模式。
【问题讨论】:
-
为什么要使用 event.stopPropagation();试试这个小提琴jsfiddle.net/ffx5cmkw
-
bcz 我有一个导航,它有下拉菜单,里面有例如:输入字段,所以它应该是活动的,以便在输入字段中输入一些东西,如果不是一旦我们点击输入字段来typesomething 然后下拉菜单消失。
-
你试过使用 event.preventDefault();
-
是的。但现在我将其删除。无论如何,我需要如上所述放置其他下拉列表的事件处理程序 bcz。
标签: jquery html twitter-bootstrap