如何覆盖 javascript 库函数?

How to override javascript library function?

我在我的 Symfony 应用程序中使用 Bootstrap datepicker library。我想用 removing/commenting 行 11321142 覆盖 bootstrap-datepicker.js 内的函数 updateNavArrows 所以 prev 当前消失的光标(当我我在 startDate 页面上,如今天一样)将始终存在。有没有更好的方法实现这个而无需修改原始源代码?

P.S:我尝试使用此 answer 来实施更改,但它似乎不起作用。

我以前见过这样的东西,希望对你有帮助。

var RealupdateNavArrows = updateNavArrows;
    updateNavArrows = function() {
         alert("function overrided");
         return RealupdateNavArrows();
    }

正如您在源代码中看到的那样 here 他们只是删除或添加 disabled class 到 nextprev 按钮

this.picker.find('.prev').toggleClass('disabled', prevState);
this.picker.find('.next').toggleClass('disabled', nextState);

这个 disabled class 只是将按钮的可见性设置为隐藏,如您所见 here

.prev, .next {
    &.disabled {
        visibility: hidden;
    }
}

因此覆盖 css 样式以设置 visibility:visible 应该可行