我的表单使用了输入和文本区域,其中一些我已添加为 TinyMCE 元素。问题是输入被转换成与文本区域相同的大小。我希望输入与非 TinyMCE 输入字段的高度相同(我使用的是最新版本的 TinyMCE - 3.5b2)。
例如,TinyMCE 将此表添加到输入和文本区域:
<table role="presentation" id="teaser_tbl" class="mceLayout" cellspacing="0" cellpadding="0" style="width: 590px; height: 100px; ">
如何更改此嵌入样式以将输入的高度降低到 30 像素?
我也有 posted this在 TinyMCE 论坛上。
最佳答案
<table role="presentation" id="teaser_tbl" class="mceLayout" cellspacing="0" cellpadding="0" style="width: 590px; height: 100px; ">
这正是您需要更改的元素。 Tinymce 有 width 和 height init param,但有些情况下这个设置是不够的。 由于编辑器 iframe 明确分配了相同的高度,因此您也必须调整 iframe。你需要打电话
var new_val = '30px';
// adjust table element
$('#' + 'my_editorid' + '_tbl').css('height', new_val);
//adjust iframe
$('#' + 'my_editorid' + '_ifr').css('height', new_val);
理想情况下,这应该在编辑器初始化时完成。所以使用:
tinyMCE.init({
...
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
var new_val = '30px';
// adjust table element
$('#' + ed.id + '_tbl').css('height', new_val);
//adjust iframe
$('#' + ed.id + '_ifr').css('height', new_val);
});
}
});
更新:没有 jQuery 的解决方案:
tinyMCE.init({
...
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
var new_val = '30px';
// adjust table element
var elem = document.getElementById(ed.id + '_tbl');
elem.style.height = new_val;
// adjust iframe element
var iframe = document.getElementById(ed.id + '_ifr');
iframe.style.height = new_val;
});
}
});
关于input - 从文本区域高度更改 TinyMCE 输入高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9845211/