将Froala从2.9.2升级到3.1.1会引发异常:“无法使用'in'运算符在未定义的位置搜索'defaultView'”

问题描述 投票:1回答:1

当我在下面的代码行中执行时,它会在执行时在控制台中引发异常(新的FroalaEditor

代码:

$.fn.validateFroalaChange = function () {
  var $obj = $(this);

  new FroalaEditor($obj, {
    events: {
      'contentChanged': function () {
        console.log("changed!!");
      }
    }
  });
};

错误:

froala_editor.pkgd.min.js:7 Uncaught TypeError: Cannot use 'in' operator to search for 'defaultView' in undefined
    at new E.Bootstrap (froala_editor.pkgd.min.js:7)
    at new $e (froala_editor.pkgd.min.js:7)
user-interface rich-text-editor froala
1个回答
0
投票

[我也在试图将旧的代码库迁移到v3时也遇到了这个问题,结果发现Element应该是常规的HTML元素,而不是jQuery包装的HTML元素。

因此,要修复代码,您需要执行以下任一操作:

$.fn.validateFroalaChange = function () {   
  new FroalaEditor(this, {
    events: {
      'contentChanged': function () {
        console.log("changed!!");
      }
    }
  });
};

或这样初始化它,如果出于某种原因您需要将其保留为jQuery对象:

new FroalaEditor($obj.get(0), options)
© www.soinside.com 2019 - 2024. All rights reserved.