HTML从下面的div加载文本,并在弹出模块中使用TinyMCE编辑器对其进行编辑,并在单击保存按钮后更新文本,我尝试了下面的代码,但是没有用。
<div class="sim-row-header1-slider-left-text sim-row-edit" data-type="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ullamcorper orci. Nullam nulla felis, imperdiet ac sollicitudin et, malesuada sagittis lacus.</div>
用于使用文本编辑器编辑文本的HTML弹出模块
<div class="sim-edit" id="sim-edit-text">
<div class="sim-edit-box" style="height:390px;">
<div class="sim-edit-box-title">Edit Text</div>
<div class="sim-edit-box-content">
<div class="sim-edit-box-content-text">Text</div>
<div class="sim-edit-box-content-field"><textarea class="sim-edit-box-content-field-textarea text text-editor"></textarea></div>
</div>
<div class="sim-edit-box-buttons">
<div class="sim-edit-box-buttons-save">Save</div>
<div class="sim-edit-box-buttons-cancel">Cancel</div>
</div>
</div>
</div>
用于将数据传递到文本编辑器并单击保存按钮时将其传递回的JavaScript。
tinymce.init({
selector: ".text-editor",
width: '100%',
height: 270,
plugins: [ "anchor link" ],
statusbar: false,
menubar: false,
toolbar: "link anchor | alignleft aligncenter alignright alignjustify",
rel_list: [ { title: 'Lightbox', value: 'lightbox' } ]
});
//edit text
if(big_parent.attr("data-type")=='text'){
$("#sim-edit-text .text").val(big_parent.text());
$("#sim-edit-text").fadeIn(500);
$("#sim-edit-text .sim-edit-box").slideDown(500);
$("#sim-edit-text .sim-edit-box-buttons-save").click(function() {
$(this).parent().parent().parent().fadeOut(500)
$(this).parent().parent().slideUp(500)
big_parent.text($("#sim-edit-text .text").val());
});
}
一旦TinyMCE加载到页面上,基础textarea
将不再在页面上可见。在您输入TinyMCE时,您实际上并没有更新textarea
,而是在输入iFrame。
[尝试使用JavaScript与textarea
交互之前,您需要调用triggerSave()
以使TinyMCE用当前的编辑器内容更新基础textarea
。另外,您也可以通过TinyMCE的getContent()
API(https://www.tiny.cloud/docs/api/tinymce/tinymce.editor/#getcontent)获取其内容。