在Bootstrap javascript部分,很多内容都支持事件发射器,例如显示模式的 shown.bs.modal 。
但这会使实现需要在事件处理程序中执行不同行为的情况变得很痒。
以下是一些示例:有一个 myModal ,两个按钮 myBtn1 和 myBtn2 可以触发要显示的模态。当模式由 myBtn1 显示时,应该发出警报。
有许多可能的解决方案:
但这应该是这样的:
$("#myBtn1").click(function(e){
$("#myModal").modal({
show: true,
onShown: function(e){
alert("myModal shown by myBtn1");
}
});
});
$("#myBtn2").click(function(e){
$("#myModal").modal({
show: true
});
});
你们怎么想这个?引导程序是否有任何理由避免回调模式?请问这种事情是否适合要求?
答案 0 :(得分:0)
在外部初始化模态,然后根据需要绑定到事件。
$("#myModal").modal({
show: true
});
$("#myBtn1").click(function(e){
$("#myModal").one('shown', function(){
alert("myModal shown by myBtn1");
}).modal("show");
});
$("#myBtn2").click(function(e){
$("#myModal").modal("show");
});
这假设显示模态生成正常的jquery自定义事件。如果没有,您可以向触发事件的模态添加回调。然后,你的按钮只是按需收听。