是否有任何原因引导性仅支持事件发射,而不是回调模式



在bootstrap javaScript部分中,许多事件都支持事件emitter,例如显示的模式显示。

这使得实现需要在事件处理程序中执行不同行为的情况。

以下是一个示例:有 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
    });
});

你们如何看待这个?Bootstrap是否有任何理由避免回调模式?这种东西可以是合适的功能请求吗?

初始化模态外部,然后根据需要绑定到事件。

$("#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自定义事件。如果没有,您可以将回调添加到触发事件的模态。然后,您的按钮只需收听按需收听。

相关内容

  • 没有找到相关文章

最新更新