当双击行或单击“编辑”按钮并选择行时,我将通过数据行中的数据填充YUI RTE。 IE和FF按预期执行,但Chrome填充了html内容(我从chrome的inspect el功能调试中知道这一点),然后几毫秒后,它会删除它。有什么建议??
以下是我如何构建YUI RTE
function CreateRTE() {
//create the RTE:
emailEditor = new YAHOO.widget.Editor('txtEmlBody', { width: '468px', height: '200px' });
//After the Editor renders it, we will hide it so the iframe doesn't bleed through
emailEditor.on('afterRender', emailEditor.hide);
//Add the insert token button when the toolbar is loaded
emailEditor.on('toolbarLoaded', function () {
//Create the button configuration
var config = { type: 'menu', label: 'Insert Token', value: 'inserttoken', menu: tokenMenu };
//Add the button to the toolbar
emailEditor.toolbar.addButtonToGroup(config, 'insertitem');
//Add the event handler for a menu item click
emailEditor.toolbar.on('inserttokenClick', function (ev) { this.execCommand('inserthtml', ev.button.value); }, emailEditor, true);
});
//render the editor explicitly into a container within the Dialog's DOM:
emailEditor.render();
}
这是我在双击行时填充RTE的方法,或者在选择行时单击编辑按钮。
function EditEmail() {
//Get the record from the datatable
var dt = grids.tblEmails.dataTable;
var tr = dt.getSelectedRows()[0];
var row = dt.getRecord(tr);
//Populate the form
YAHOO.util.Dom.get('hidEmlId').value = row.getData('ID');
YAHOO.util.Dom.get('hidEmlType').value = row.getData('Type');
YAHOO.util.Dom.get('txtEmlSubject').value = row.getData('Title');
emailEditor.setEditorHTML(row.getData('Body'));
//Show the dialog
dialogs.dlgEmail.show();
}
我读过this文章,但问题似乎并不匹配。 html编辑器的上下文正在填充,然后删除.... sooo,任何帮助都将非常感激。
答案 0 :(得分:2)
在设置编辑器的html ( row.getData('Body') ),
之前,尝试使用html (emailEditor.setEditorHTML(row.getData('Body'));)
更新编辑器的支持文本区域。这应该允许它在Chrome / Safari中运行。