【发布时间】:2017-10-18 05:06:09
【问题描述】:
我一直在努力尝试这样做。
我有什么
- 我在页面上有一个 div,其中包含资源列表(带有特定 #id)
- 另一个带有可编辑 summernote 实例的 div
我想创造什么
- 能够将列表中的资源拖入 Summernote 编辑器(也许使用 jquery UI 使其更漂亮?)
- 将资源放入编辑器后,它会自动以某种/自定义方式设置样式(例如,使用按钮信息样式和资源的特定#id)
- 一旦元素在编辑器中,我们就无法编辑该元素的文本(因此我们无法更改资源的标题),而是能够将整个元素拖动到编辑器中的其他任何位置(就像您使用图片)。
这是包含所有所需基本代码的基本小提琴:
// when edit
$('.edit').on('click', function() {
var target = $(this).attr('target');
$(this).parent().find('.save').show();
$(this).parent().find('.edit').hide();
$('#module_descr').summernote({
height: 300,
toolbar: [
['img', ['picture']],
['style', ['style', 'addclass', 'clear']],
['fontstyle', ['bold', 'italic', 'ul', 'ol', 'link', 'paragraph']],
['fontstyleextra', ['strikethrough', 'underline', 'hr', 'color', 'superscript', 'subscript']]
]
});
});
// when saving title or description
$('.save').on('click', function() {
$('#module_descr').summernote('destroy');
$(this).parent().find('.save').hide();
$(this).parent().find('.edit').show();
});
.save {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.0/summernote.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.0/summernote.css" rel="stylesheet" />
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">Ressources</div>
<div class="panel-body" style="max-height:200px;overflow:auto;">
<div class="list-group modules" id="ressourcesList">
<a href="#" class="list-group-item" id="1"> Resource 1
</a>
<a href="#" class="list-group-item" id="2"> Resource 2
</a>
<a href="#" class="list-group-item" id="3"> Another Resource
</a>
</div>
</div>
</div>
<div class="row" id="module_info">
<div class="panel panel-info">
<div class="panel-heading">
<div class="row">
<div class="col-md-9 title_descr"></div>
<div class="col-md-3 text-right">
<button type="button" class="btn btn-info btn-sm edit" target="module_descr">Edit</button>
<button type="button" class="btn btn-success btn-sm save" target="module_descr" style="display:none">Save</button>
</div>
</div>
</div>
<div class="panel-body" id="module_descr" module_id="">
</div>
</div>
</div>
我尝试在谷歌上搜索任何可能的东西我非常感谢任何帮助,
最好的问候,
Xogno
【问题讨论】:
标签: jquery drag-and-drop summernote