当我以编程方式调用参数时如何将参数传递给模态?

时间:2015-12-12 16:55:08

标签: twitter-bootstrap-3 modal-dialog parameter-passing

我像这样以编程方式调用bootstrap模式

$('#confirmModal').modal()

但是当我这样做时,“事件”在:

$('#confirmModal').on('show.bs.modal', function (event) {
   var button = $(event.relatedTarget); 
})

没有“relatedTarget”,但我需要它。如何使用$('#confirmModal')传递它.modal()

2 个答案:

答案 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。