我在laravel项目中使用redactor作为文本编辑器。
每当编辑器在页面上并初始化时,每当我点击任何地方时都会收到此错误。
Uncaught TypeError: $(...).closest(...).size is not a function(…)
Uncaught TypeError: $current.closest(...).size is not a function(…)
只要我在编辑器中输入,或者只需点击页面上的任意位置,就会触发此操作。编辑器初始化正常,并且工作正常。我不确定为什么它会抱怨模糊事件。
我正在初始化它:
$('#myInput').redactor({
'buttons': ['html', 'formatting', 'bold', 'italic', 'unorderedlist', 'orderedlist', 'link'],
'placeholder': 'Comments...'
});
看起来这是不满意的部分之一:
$(document).on('mousedown.redactor-blur.'+this.uuid,
我正在使用Redactor 10.2.5
感谢您的任何建议!
答案 0 :(得分:10)
我正在使用Redactor 10.2.2,但在升级jquery版本(2.x - > 3.x)后出现类似错误。
我认为与jquery版本3和以下2行存在一些冲突:
line 1463: if ($(e.target).closest('.redactor-editor, .redactor-toolbar, .redactor-dropdown').size() !== 0)
line 6913: if ($current.closest(element).size() > 0)
应该修改
line 1463: if ($(e.target).closest('.redactor-editor, .redactor-toolbar, .redactor-dropdown').length !== 0)
line 6913: if ($current.closest(element).length > 0)
for Reactor 10.2.5。
我希望这对你有所帮助。
答案 1 :(得分:2)
我认为这种解决方案会更好
$(function() {
$.fn.size = function() {
return this.length;
}
});
您不必更改供应商,因此您不必每次在某个地方安装应用程序时都应对更改。