2015-02-08 86 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

相關問題