首页 > 解决方案 > Summernote v0.7.0 关于更改回调问题

问题描述

为summernote进行了简单的设置。

<div id="summernote">data-here</div>


$('#summernote').summernote({
  height: 200,                 // set editor height
  focus: true,
  callbacks // any callbacks didn't worked, onChange, onBlur etc..(any tip on how to add proper callbacks here)
});

我试图制作 jquery 代码来捕捉我的 Summernote 的更改事件,例如:

$('#summernote').on("summernote.change", function (e) {
 # Problem here when deleting (keyboard backspace, calls twice)
 -some code here-
}

我的问题summernote.change是,当使用键盘的退格键删除文本/内容时,回调(更改时)会触发两次。因此我的内部函数也运行了两次。

关于这个家伙的任何想法,在此先感谢。

标签: javascriptjquerysummernote

解决方案


我试图重现这个问题。但它对我来说很好。

$(document).ready(function() {
  $('#summernote').summernote({
    height: 200, // set editor height
    focus: true,
    callbacks: {
      onInit: function() {
        console.log('Summernote is launched');
      },
      onChange: function(contents, $editable) {
        console.log('onChange:', contents, $editable);
      }
    }
  });
  $('#summernote').on('summernote.change', function(we, contents, $editable) {
    console.log('summernote.change', contents, $editable);
  });
});
<!-- include libraries(jQuery, bootstrap) -->
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>

<!-- include summernote css/js -->
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote.js"></script>

<div id="summernote">data-here</div>

注意:onChange您应该在回调中使用其中一个事件,或者summernote.change不同时使用两者。


推荐阅读