2015-02-08 102 views
0

沙盒编辑器,并有一些常量,我想要插入此iframe。我的常量的列表下面给出:如何在光标位置插入文本在Wysihtml5-沙盒编辑器

<ul id="email-template-tag" style="margin:0px 0px 5px 0px;padding:0px;"> 
    <?php foreach($tags as $key=>$value){?> 
    <li class="sms-template-tag sms-template-tag" data-value="<?php echo $key;?>"><?php echo $value;?></li> 
    <?php }?> 
</ul> 

和下面的JavaScript代码给出:

$(document).on('click','#email-template-tag li', function() { 
    var caretPos = document.getElementsByTagName('iframe')[0].contentWindow.getSelection(); 
    var textAreaTxt = $('iframe.wysihtml5-sandbox').contents().find('html body').html(); 
    var txtToAdd = $(this).attr('data-value'); 
    $('iframe.wysihtml5-sandbox').contents().find('html body').html(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos)).focus(); 
}); 

但代码不能正常工作。它总是在第一个位置插入li数据值。

回答

1

您可以使用insertHTML

editorInstance.composer.commands.exec( “insertHTML”, “HTMLToInsert”);

希望它有帮助。

0
//Initialize editor 

$(".wysihtml5-sandbox").wysihtml5(); 

// get Instance 

var wysihtml5Editor = $('.wysihtml5-sandbox').data("wysihtml5").editor; 

// append you data at cursor position in editor 

wysihtml5Editor.composer.commands.exec("insertHTML", "HTMLToInsert"); 
+0

尽管此代码可以回答这个问题,提供有关_why_ 额外的内容及/或_how_此代码 回答了这个问题会显著提高其 长期价值。请[编辑]你的答案,添加一些 的解释。 – 2016-03-29 10:27:37

相关问题