我一直在使用summernote编辑器,它对于我需要的大多数功能都能正常工作。但是最近我想要在用户操作后将其禁用(而不是销毁)。经过努力没有成功之后,我意识到可以使用destroy()方法来实现我的想法。我注意到Summernote仍然会将已禁用的文本区域转换为其编辑器,并禁用写作区域。这是我最终做的:
要禁用创建后的summernote:我首先将其销毁,然后禁用目标元素,最后重新初始化它:
$(".summernoteTarget").destroy();
$(".summernoteTarget").prop('disabled', true );
$(".summernoteTarget").summernote();
为了再次启用它,我首先像之前一样将其销毁,然后启用目标元素,最后重新初始化:
$(".summernoteTarget").destroy();
$(".summernoteTarget").prop('disabled', false );
$(".summernoteTarget").summernote();
这个方法解决了问题,但有一个小问题:当它保持在“禁用”状态时,不是所有的控件都被禁用,只有写作区域被禁用。所以用户仍然可以将文件拖到写作区域,但这会导致错误。
有没有人查看过Summernote的源代码并添加两种方法(disable和enable)以及destroy(),这样我们就可以像这样做:
$(".summernoteTargetElement").disable();
$(".summernoteTargetElement").enable();
谢谢。