这是我用来选择任务的非常简单的模态窗口。
<div id="add_task_modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Lookup Task</h5>
</div>
<div class="modal-body">
<select id="select_customer_name" placeholder="Select a customer..."></select>
<select id="select_project_name" placeholder="Select a project..."></select>
<select id="select_task_name" placeholder="Select a task..."></select>
</div>
<div class="modal-footer">
<button id="submit_add_task" class="btn btn-primary">Add</button>
<button class="btn btn-primary" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
这里有三个内部的 <select>
是 selectized 的。如果需要,我可以发布这段代码,但我认为它不相关。
基本上问题是在某些情况下,下拉菜单会超出模态窗口底部(这是我想要的),如果您点击底部以下的选项,它将关闭模态。显然,我可以使模态静态,但那并不是我想要的功能。
有没有办法在这种情况下防止点击事件关闭模态?
编辑:这是我点击一个这样的 <option>
时得到的两个点击事件:
click { target: div#add_task_modal.modal.fade.show , buttons: 0, clientX: 1251, clientY: 370, layerX: 1251, layerY: 370 }
click { target: div#add_task_modal.modal.fade, buttons: 0, clientX: 1251, clientY: 370, layerX: 1251, layerY: 370 }
stopPropagation()
,以便点击事件不会冒泡到 DOM 的其余部分。 - kmoserevt.stopPropagation(); evt.preventDefault(); });``` 这是我尝试过的,但没有用。
- Alex Coats<select>
选项,这些选项会在模态框下方延伸。当我点击任何一个延伸到模态框下面的选项时,它不会关闭模态框。我猜测您要么有JS错误,要么是selectize.js
的症状。您能发布一个最小化、可重现的示例吗? - kmoser