Javascript SummerNote内容可编辑属性设置为False

Javascript SummerNote内容可编辑属性设置为False,javascript,jquery,summernote,Javascript,Jquery,Summernote,我试图在页面加载时使html编辑器插件的contenteditable属性为false,但它不会影响 下面是我的JS代码: <script> $(function(){ $('div#son_durum').children('.note-editor') .children('.note-editing-area') .children('.note-editable')

我试图在页面加载时使html编辑器插件的contenteditable属性为false,但它不会影响

下面是我的JS代码:

<script>
    $(function(){
     $('div#son_durum').children('.note-editor')
                       .children('.note-editing-area')
                       .children('.note-editable')
                       .attr('contenteditable',false);
    });
</script>

$(函数(){
$('div#son_durum')。儿童('note editor')
.children(“.note编辑区”)
.children(“.note可编辑”)
.attr('contenteditable',false);
});
我能做些什么来达到这个目的


谢谢

为什么您试图将
contenteditable
设置为
false
?当你的页面加载时,不要在
div#son_durum
上启动summernote

或者,是否要切换summernote的启用/禁用状态?已经报告了类似的问题。请参见使用v0.8.2的。
这是我的解决方案,虽然它并不完美,特别是如果开发人员更改html和/或类名,但它可以满足我的需要

我的MVC应用程序有许多动态添加到页面的summernote控件,每个控件都分配了一个ID。某些控件仅显示图像(上载)按钮,而其他控件仅显示文本样式按钮。对于仅图像的summernote控件,我不希望用户能够键入文本,因此我只需禁用文本输入/图像面板,而不是整个控件。这样,我仍然允许使用按钮

这是我的解决方案,这很有效确保在summernote控件初始化后触发此命令

var container = $('#summernote2').nextAll('div.note-editor:first').find('.panel-body');        
            if ($(container).length)        
            {            
                $(container).prop('contenteditable', 'false');                                
            }        
发生了什么事?

  • 在我的特定summernote控件(id=summernote2)中,我使用特定类('note-editor')找到它正下方的第一个div。当控件初始化时,所有这些都会动态添加到页面中。见下图:
  • 然后,使用FIND继续在树下查找类“panel body”,这是文本实际放置的位置,在上面的图像中高亮显示
  • 假设我找到了它,那么我将contenteditable属性更改为false。砰 可能有更多的链接可以做,也许更有效的方法,但这工作相当整洁

    为什么这样? 因为我在页面上有多个控件,并且没有任何东西将我ID的summernote DIV直接链接到作为初始化一部分创建的所有其他DIV,所以我认为这是一个好的解决方案。否则,我如何保证获得正确的面板主体类别

    祝你好运,让我知道你的想法!如果这充分回答了您的问题,记得在回答时检查它

    在一个完美的世界里,你会认为开发人员会让它变得更容易。这应该是所有需要的,但不,它不起作用…:

    $('#summernote2').summernote('contenteditable','false');