我有以下Bootstrap按钮:
<button type="button" class="btn btn-primary btn-lg" data-button="create" data-toggle="modal" data-target="#modal">Create</button>
<button type="button" class="btn btn-primary btn-lg" data-button="delete" data-toggle="modal" data-target="#modal">Delete</button>
这是模态:
<div class="modal fade" id="modal">
<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">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
如何找出触发模态打开的按钮?
具体来说,我需要data-button
属性。
答案 0 :(得分:17)
您可以收听show.bs.modal
/ shown.bs.modal
个事件中的任何一个。
在该函数中,该事件附加了relatedTarget
属性。您可以使用它来确定触发模态打开的按钮。
调用show instance方法时会立即触发此事件。如果由单击引起,则单击的元素可用作事件的
relatedTarget
属性。
$('.modal').on('show.bs.modal', function (e) {
var $trigger = $(e.relatedTarget);
});
..如果您想访问data-button
属性,请使用:
$(e.relatedTarget).data('button');
相反,如果您想确定哪个按钮导致模式关闭,请参阅this answer。