Summernote 在初始设置后更改高度值
Summernote change height value after initial setup
我在我的网站上使用了 summernote,正如预期的那样:
$('#summernote').summernote({
height: $(document).height() - ($("#Maintable").height() + $("#TblTop").height() + 60),
minHeight: null, // set minimum height of editor
maxHeight: null, // set maximum height of editor
focus: true,
toolbar: [
// [groupName, [list of button]]
['style', ['fontname', 'bold', 'italic', 'underline', 'clear']],
['font', ['strikethrough', 'superscript', 'subscript']],
['fontsize', ['fontsize', 'undo', 'redo']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']],
['insert', ['picture', 'video', 'table']],
['search', ['findnreplace', 'changecolor']]
],
buttons: {
changecolor: ChangeColorButton
}
});
但是,当我在 window.onresize
上调用的函数中调用以下代码以更改高度值时,没有任何反应。我该怎么办?
$('#summernote').summernote({
height: 100
});
从documentation看来summernote没有提供api设置初始化后的高度
但是,通过检查创建的编辑器的 html 结构,height
、minHeight
和 maxHeight
选项应用于 div
class="note-editable"
。所以我们设置这个 div
的高度。以下代码片段显示了如何在初始化后更改编辑器的高度。
$(document).ready(function() {
var t = $('#summernote').summernote(
{
height: 100,
focus: true
}
);
$("#btn").click(function(){
$('div.note-editable').height(150);
});
});
<!-- include libraries(jQuery, bootstrap) -->
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
<!-- include summernote css/js -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>
<div id="summernote">Original height is 100. Click the button to change the height to 150</div>
<button id="btn">Change Height</button>
它只能用 JS 来完成,但这是一个令人讨厌的解决方法:
let summernoteOptions = {
height: 300
}
$('#summernote').summernote(summernoteOptions);
$(document).on('click', '#change', function(){
summernoteOptions.height = 100;
let content = $('#summernote').summernote('code');
$('#summernote').summernote('destroy');
$('#summernote').summernote(summernoteOptions);
$('#summernote').summernote('code', content);
});
<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>
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>
<div id="summernote">Some text...</div>
<button id="change">Change Height Button</button>
我在我的网站上使用了 summernote,正如预期的那样:
$('#summernote').summernote({
height: $(document).height() - ($("#Maintable").height() + $("#TblTop").height() + 60),
minHeight: null, // set minimum height of editor
maxHeight: null, // set maximum height of editor
focus: true,
toolbar: [
// [groupName, [list of button]]
['style', ['fontname', 'bold', 'italic', 'underline', 'clear']],
['font', ['strikethrough', 'superscript', 'subscript']],
['fontsize', ['fontsize', 'undo', 'redo']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['height', ['height']],
['insert', ['picture', 'video', 'table']],
['search', ['findnreplace', 'changecolor']]
],
buttons: {
changecolor: ChangeColorButton
}
});
但是,当我在 window.onresize
上调用的函数中调用以下代码以更改高度值时,没有任何反应。我该怎么办?
$('#summernote').summernote({
height: 100
});
从documentation看来summernote没有提供api设置初始化后的高度
但是,通过检查创建的编辑器的 html 结构,height
、minHeight
和 maxHeight
选项应用于 div
class="note-editable"
。所以我们设置这个 div
的高度。以下代码片段显示了如何在初始化后更改编辑器的高度。
$(document).ready(function() {
var t = $('#summernote').summernote(
{
height: 100,
focus: true
}
);
$("#btn").click(function(){
$('div.note-editable').height(150);
});
});
<!-- include libraries(jQuery, bootstrap) -->
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
<!-- include summernote css/js -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>
<div id="summernote">Original height is 100. Click the button to change the height to 150</div>
<button id="btn">Change Height</button>
它只能用 JS 来完成,但这是一个令人讨厌的解决方法:
let summernoteOptions = {
height: 300
}
$('#summernote').summernote(summernoteOptions);
$(document).on('click', '#change', function(){
summernoteOptions.height = 100;
let content = $('#summernote').summernote('code');
$('#summernote').summernote('destroy');
$('#summernote').summernote(summernoteOptions);
$('#summernote').summernote('code', content);
});
<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>
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.9/summernote.js"></script>
<div id="summernote">Some text...</div>
<button id="change">Change Height Button</button>