【发布时间】:2012-10-01 21:28:40
【问题描述】:
我想在 Bootstrap/jQuery 中扩展 $.fn.modal 以便我的扩展版本在通过传递额外选项初始化模态之前“做事”。我试过这个,就像我做过几次扩展 jQuery 原型一样:
var modal = $.fn.modal;
$.fn.modal = function() {
this.each(function() {
// do stuff
});
modal.apply(this, arguments);
}
$('#modal').modal(); // fails
上面的例子不起作用,尽管同样的模式适用于许多其他非引导 jQuery 原型。
这是一个演示它的小提琴:http://jsfiddle.net/eTWSb/(只需评论覆盖的内容以查看它的工作原理)。
我的印象是,当您想要添加自定义功能时,克隆一个函数然后将其称为“超级”是一个可行的选择。
有什么建议吗?
【问题讨论】:
-
“不工作” 你的代码没有效果吗?还是模态完全停止工作?你的代码到底是做什么的?是不是可能会被模态代码覆盖?
-
不起作用,因为模态不再初始化:jsfiddle.net/eTWSb
-
可以编辑原始的
bootstrap-modal.js吗? -
这很奇怪。我不知道为什么那行不通。
-
@PetrMarek 不,我希望将其放入任何引导项目中。就像引导模式的类固醇一样。
标签: javascript jquery twitter-bootstrap modal-dialog extend