Javascript 如何限制tinymce文本编辑器的内容,使其';s可下降
我在内联模式下使用tinymce并使其可拖放。当拖放完成时,我想限制tinymce中拖动的div的内容。以下是我的html代码:Javascript 如何限制tinymce文本编辑器的内容,使其';s可下降,javascript,html,drag-and-drop,tinymce,droppable,Javascript,Html,Drag And Drop,Tinymce,Droppable,我在内联模式下使用tinymce并使其可拖放。当拖放完成时,我想限制tinymce中拖动的div的内容。以下是我的html代码: <div class="draggable"> Some large text is here </div> <div class="row"> <div class="col-xs-4"> <div id="editable4" class="editabl
<div class="draggable">
Some large text is here
</div>
<div class="row">
<div class="col-xs-4">
<div id="editable4" class="editable"></div>
</div>
</div>
这里有一些大文本
这是我的JQuery代码:
// Returns text statistics for the specified editor by id
function getStats(id) {
var body = tinymce.get(id).getBody(), text = tinymce.trim(body.innerText || body.textContent);
return {
chars: text.length,
words: text.split(/[\w\u2019\'-]+/).length
};
}
tinymce.init({
selector: '.editable',
theme: 'modern',
statusbar: false,
inline: true,
directionality : 'rtl',
toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image| fontselect | fontsizeselect',
image_advtab: true,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste'
],
setup : function(ed) {
ed.on('keyup', function(e) {
if (getStats(tinymce.activeEditor.id).chars > 100) {
tinymce.activeEditor.getBody().setAttribute('contenteditable', false);
}
// Check if the user has entered less than 100 words
if (getStats(tinymce.activeEditor.id).words > 100) {
alert("You need to enter less than 100 word.");
}
});//ed.onKeyUp.add
}
});
$('.draggable').draggable({
revert: true
});
$('.editable').droppable({
accept: '.draggable',
hoverClass: '.hovered',
drop: handleDrop
});
function handleDrop(ev, ui) {
ui.draggable.position({of: $(this), my: 'left top', at: 'left top'});
ui.draggable.draggable('option', 'revert', false);
ui.draggable.draggable('disable');
tinyMCE.get($(this).attr('id')).setContent(ui.draggable.find('.show_list_title').html() + "<br/>" + ui.draggable.find('.detail_news_container .body-news').html());
ui.draggable.hide();
}
//按id返回指定编辑器的文本统计信息
函数getStats(id){
var body=tinymce.get(id).getBody(),text=tinymce.trim(body.innerText | | body.textContent);
返回{
字符:text.length,
文字:text.split(/[\w\u2019\'-]+/).length
};
}
tinymce.init({
选择器:'.editable',
主题:"现代",,
状态栏:false,
是的,
方向性:“rtl”,
工具栏1:“插入文件撤消重做|样式选择|粗体斜体|对齐左对齐居中对齐右对齐对齐对齐|粗体numlist outdent缩进|链接图像|字体选择|字体大小选择”,
图像\u advtab:正确,
插件:[
'advlist autolink列出链接图像charmap打印预览锚',
“searchreplace visualblocks代码全屏显示”,
“insertdatetime媒体表上下文菜单粘贴”
],
设置:功能(ed){
ed.on('keyup',功能(e){
if(getStats(tinymce.activeEditor.id).chars>100){
tinymce.activeEditor.getBody().setAttribute('contenteditable',false);
}
//检查用户输入的单词是否少于100个
if(getStats(tinymce.activeEditor.id).words>100){
警告(“您需要输入少于100个单词。”);
}
});//ed.onKeyUp.add
}
});
$('.draggable').draggable({
回复:真
});
$('.editable')。可拖放({
接受:'.draggable',
hoverClass:'.hovered',
落下:手杖
});
功能handleDrop(电动汽车,用户界面){
位置({of:$(this),my:'left top',at:'left top'});
ui.draggable.draggable('option','revert',false);
ui.draggable.draggable('disable');
tinyMCE.get($(this.attr('id')).setContent(ui.draggable.find('.show_list_title').html()+“
”+ui.draggable.find('.detail_news_container.body news').html());
ui.draggable.hide();
}
在handleDrop函数中我应该做什么?
谢谢