我像这样以编程方式调用bootstrap模式
$('#confirmModal').modal()
但是当我这样做时,“事件”在:
$('#confirmModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
})
没有“relatedTarget”,但我需要它。如何使用$('#confirmModal')传递它.modal()
答案 0 :(得分:1)
您无法设置relatedTarget
,它是该事件的只读属性。 show.bs.modal
是由引导模态本身触发的BTW,所以无论哪种方式你都迷失了。
但是为什么不以程序方式触发模态触发按钮的click
事件,那么完全与调用modal()
相同,然后是relatedTarget
在场:
$("#button").click();
假设你有一个良好形成的"模态触发按钮"像这样:
<button id="button" data-toggle="modal" data-target="#confirmModal">show modal</button>
见这里 - &gt;的 http://jsfiddle.net/y3s1t7ea/ 强>
答案 1 :(得分:0)
虽然它不是officially documented,但可以将第二个参数传递给充当相关目标的modal()
:
$('#confirmModal').modal('show', $('#someButton'));
然后你可以使用事件处理程序,因为它可能是由按钮或其他任何东西触发的:
$('#confirmModal').on('show.bs.modal', function (event) {
var button = event.relatedTarget; // should be set now
})
至少应该使用Bootstrap 3.3.x,我猜也是4.0.x。