gpt4 book ai didi

javascript - 扩展 bootstrap jQuery 模态

转载 作者:行者123 更新时间:2023-11-30 07:26:30 25 4
gpt4 key购买 nike

我想在 Bootstrap/jQuery 中扩展 $.fn.modal,因此我的扩展版本在通过传递额外选项初始化模态之前“做事”。我试过这个,就像我做过几次来扩展 jQuery 原型(prototype)一样:

var modal = $.fn.modal;

$.fn.modal = function() {
this.each(function() {
// do stuff
});
modal.apply(this, arguments);
}

$('#modal').modal(); // fails

上面的示例不起作用,尽管相同的模式适用于许多其他非 Bootstrap jQuery 原型(prototype)。

这是一个演示它的 fiddle :http://jsfiddle.net/eTWSb/ (只需评论覆盖内容即可看到它的工作)。

我的印象是,当您想添加自定义功能时,克隆一个函数然后将其称为“ super ”是一个可行的选择。

有什么建议吗?

最佳答案

好吧,我明白了。覆盖 $.fn.modal 时,我还删除了 Bootstrap 放置在 $.fn.modal.defaults 中的默认选项(为什么? ).

所以当我扩展它时,我丢失了默认的 show: true 选项,它实际上显示了模态...

这解决了它(但是构造函数丢失了,除非你也复制它):

var modal = $.fn.modal,
defaults = $.extend({}, $.fn.modal.defaults);

$.fn.modal = function(options) {
options = $.extend( defaults, options );
this.each(function() {
// do stuff
});
return modal.call( this, options );
};

关于javascript - 扩展 bootstrap jQuery 模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12681392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com