Bootstrap 多层 modal 弹窗同时关闭的解决办法

Bootstrap 多层 modal 弹窗时。当子窗口关闭时,所有父窗口会一起关闭。

原因是 Bootstrap 在窗口关闭事件委托时,委托给所有窗口。

如源码(位于 bootstrap.js 或者 bootstrap.min.js ):

this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))

改进为:

this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]:first', $.proxy(this.hide, this))
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]:last', $.proxy(this.hide, this))

这样在多层窗口关闭时只会关闭自窗口,不再关闭父窗口。