gpt4 book ai didi

javascript - 如何在 twitter bootstrap 中覆盖 JavaScript 函数

转载 作者:行者123 更新时间:2023-12-02 17:42:37 26 4
gpt4 key购买 nike

我们目前使用 Twitter Bootstrap 2.3.2,我正在尝试找出一种方法来绑定(bind)属于下拉组件一部分的切换功能。我试图在全局范围内做到这一点,并提出了以下代码:

; (function ($, window, document, undefined)
{
var oldToggle = $.fn.dropdown.Constructor.prototype.toggle;

$.fn.dropdown.Constructor.prototype.toggle = function (e)
{
console.log('here');
return oldToggle.call(this, e);
}
})(jQuery, window, document);

当我将此代码放入 Bootstrap 文件中时,覆盖工作正常。当我尝试将其包含在页面的其他位置时,我的 console.log 永远不会执行。我在这里缺少什么?

这是一个指向 JSFiddle 的链接,其中包含上面发布的代码 http://jsfiddle.net/whoiskb/8nvuk/1/

最佳答案

您将无法从外部覆盖该函数。查看bootstrap源码

$(document)
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)

一旦绑定(bind)了此事件,对原型(prototype)的任何更改都不会生效,因为原始函数已传递并且您无法收回。

https://github.com/twbs/bootstrap/blob/master/js/dropdown.js#L141

关于javascript - 如何在 twitter bootstrap 中覆盖 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22072809/

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