javascript - 覆盖 javascript 文件 (summernote.js) 中的一些函数

标签 javascript summernote

我正在更改 Summernote-lite.js 以扩展它的功能,现在我面临一个问题:新版本午餐,现在怎么办?如果我想在我的网站上使用它,我必须再次更改它。我认为对我来说最好的方法是覆盖该文件中已有的函数并将其存储在单独的 js 文件中,但该怎么做呢?

例如,这里是 Summernote-lite.js 文件的开头:

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) :
    typeof define === 'function' && define.amd ? define(['jquery'], factory) :
      (factory(global.jQuery));
}(this, (function ($$1) {

然后这是我想要覆盖的几个函数:

var imageDialog = function (opt) {
....
}

下一个:

var ImageDialog = /* @class */ (function () {
    ...

    ImageDialog.prototype.initialize = function () {
      ...
    }
    ImageDialog.prototype.show = function () {
      ...
    }
    ImageDialog.prototype.showImageDialog = function () {
      ...
    }
    ...
}());

我想更改那些提到的功能(在 ImageDialog 中刚刚提到的功能)。

我该怎么做?

谢谢, 德扬

最佳答案

据我所知,您不能覆盖它们,因为它们被封装在试图模拟类上的私有(private)方法的函数作用域中。

无论如何,我建议您不要覆盖任何代码方法,而是扩展类。

class MyCustomImageDialog extends ImageDialog {
  constructor() {
    super();
  }

  initialize() { … }
  show() { … }
  showImageDialog() { … }
}

关于javascript - 覆盖 javascript 文件 (summernote.js) 中的一些函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55215237/

相关文章:

javascript - 8e3 的计算结果是多少?

jquery - 使用 Parsley 验证 Summernote 文本区域

Jquery 验证和 Summernote

html - 如何删除summernote值中的<p><br></p>标签?

toolbar - 使用 Summernote 自定义工具栏

javascript - 来自 Alfresco 的 json 多维数组

javascript - ACE 编辑器自动完成打开 `.`

javascript - 将事件处理程序应用于新创建的对象

javascript - 使用 Jquery 选择一个 td 元素

jquery - 向 jQuery .validate 添加方法以检查 SummerNote 文本区域是否为空