Javascript 覆盖拾取日期库中的原型函数
我想更改中Javascript 覆盖拾取日期库中的原型函数,javascript,prototype,overwrite,pickadate,Javascript,Prototype,Overwrite,Pickadate,我想更改中DatePicker.prototype.nodes.createYearLabel()函数的默认行为 如何在不接触原始picker.date.js的情况下完成此操作 档案 我的覆盖文件应该是什么样子?我需要吗 以某种方式导入picker.date.js 非常感谢。您只需在代码中的任意位置覆盖函数即可: DatePicker.prototype.nodes.createYearLabel = function() { // code.. } 但是,请注意,当您更改日期选取器
DatePicker.prototype.nodes.createYearLabel()函数的默认行为
如何在不接触原始picker.date.js的情况下完成此操作
档案李>
我的覆盖文件应该是什么样子?我需要吗
以某种方式导入picker.date.js
非常感谢。您只需在代码中的任意位置覆盖函数即可:
DatePicker.prototype.nodes.createYearLabel = function() {
// code..
}
但是,请注意,当您更改日期选取器.prototype
时,创建的日期选取器的每个实例都将被更改,即使是在更改之前创建的实例也会被更改。记住这一点:
function A() {}
A.prototype.show = function(text) { console.log(text); };
var a = new A();
a.show("asdf"); // asdf
A.prototype.show = function(text) { console.log(text + "1234"); };
a.show("asdf"); // asdf1234
如果您希望在整个应用程序中使用覆盖功能,并且不需要默认功能,您可以简单地将其放置在代码的顶部,即在执行任何代码之前,但在加载库之后
希望这有帮助 这将始终返回未捕获引用错误:未定义日期选择器
@nimrod如果您使用的是诸如webpack之类的捆绑程序,则可能需要在覆盖之前使用您的库。但是,您不能持久化覆盖的函数,因为每次您再次需要库时,它都将使用默认函数。或者,您也可以在覆盖后执行类似于window.DatePicker=DatePicker
的操作,只需使用window.DatePicker
,它相当于一个全局变量,而不需要。