隐藏分区中的NicEdit大小较小
NicEdit in Hidden Div is resized small
我正在尝试对div中隐藏的文本区域使用NicEdit编辑器。当用户单击按钮时,目标文本区域的父div就会显示出来。textarea的宽度设置为父div的100%。问题是父div被隐藏,因此在显示父div之前textarea没有宽度。如果我试图在显示其父div的同时附加NicEdit编辑器,则编辑器会显得很小。
<script type="text/javascript">
function add_task_editor() {
new nicEditor({buttonList : ['fontSize','bold','italic','underline','strikeThrough','subscript','superscript','ul','link']}).panelInstance('task_description');
};
$('#trigger_it').click(function (e) {
$('#parent_div').show();
add_task_editor();
});
</script>
<div id="parent_div" style="display: none;">
<textarea id="task_description"></textarea>
</div>
有没有办法解决这个问题,使编辑器的宽度在加载后设置为父div的100%?
在我的案例中,这与jquery一起工作:
new nicEditor().panelInstance('myArea');
$('.nicEdit-panelContain').parent().width('100%');
$('.nicEdit-panelContain').parent().next().width('100%');
或至绝对智慧:
$('.nicEdit-panelContain').parent().width('400px');
$('.nicEdit-panelContain').parent().next().width('400px');
@Hans的回答对我很有用。。。但我也需要添加这一点来调整包含正在编辑的文本的div的大小(当不使用下面的行时,只有该div周围的容器被调整了大小):
$('.nicEdit-main').width('100%');
$('.nicEdit-panelContain').parent().width('100%');
$('.nicEdit-panelContain').parent().next()
.width($('.nicEdit-panelContain').parent().width()-2);
如果文本区域的父对象具有道具"padding-left"或"padding-right",则将"-2"添加到"width"。
这对我来说效果最好:
new nicEditor().panelInstance('nic-me');
$('.nicEdit-panelContain').parent().width('100%');
$('.nicEdit-panelContain').parent().next().width('98%');
$('.nicEdit-main').width('100%');
当然,基本上在创建编辑器之后,检查它以找到它的ID或它所拥有的类,并设置它的宽度$('#editorsID').width('100%');
。
或者可以找到它的父div的像素宽度,并将其设置为该宽度。
这解决了我的问题!感谢
$(document).ready(function(){
bkLib.onDomLoaded(function() {
new nicEditor({fullPanel : true, maxHeight:100}).panelInstance('myArea');
$('.nicEdit-panelContain').parent().width('100%');
$('.nicEdit-panelContain').parent().next().width('98%');
$('.nicEdit-main').width('100%');
});
});
对于那些有同样问题的人,我优化了它,它看起来完全正常:
$(document).ready(function(){
bkLib.onDomLoaded(function() {
new nicEditor({fullPanel : true}).panelInstance('myArea');
$('.nicEdit-panelContain').parent().css({width:'100%', padding:"0"});
$('.nicEdit-panelContain').parent().next().css({width:'100%', padding:"5px"});
$('.nicEdit-main').css({width:'100%', padding:"0", minHeight:"80px"});
});
});
在面板上尝试多个东西后,调整大小。。这对我很有效。
bkLib.onDomLoaded(function() {
new nicEditor().panelInstance('textarea_id');
document.querySelector('div[unselectable="on"]').setAttribute('style', '');
});
基本上只是在加载时删除nicEdit脚本设置的默认宽度,它应该自动调整面板宽度。。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 设置滑块分区上的滚动
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- JQuery移动动态分区页面
- 多维数据集网格未在指定的分区中绘制
- 使用moment.js获取时间分区的偏移日期对象
- 单击子分区外部时关闭灯箱
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- 隐藏/显示下面的分区根据是否选择某个选项进行选择
- D3.js:将一个有响应的饼图放在其父分区的中心
- 使用2个下拉列表显示/隐藏分区
- 将整张桌子放在它的外分区中心
- Skrollr.更改固定分区中的内容
- 内容可编辑分区-根据内部HTML位置的光标位置
- 用PHP/MMySQL和JavaScript填充几个HTML分区
- 使用javascript或JQuery在HTML中删除当前分区的按钮
- 预览文本区域分区不工作
- JQuery在多个分区上显示/隐藏
- 鼠标输入悬停分区显示/隐藏
- 隐藏分区中的NicEdit大小较小