Jquery 当contenteditable从true设置为false时,哪些css属性会更改?

Jquery 当contenteditable从true设置为false时,哪些css属性会更改?,jquery,css,line,contenteditable,line-breaks,Jquery,Css,Line,Contenteditable,Line Breaks,我有一个应用程序,其中div表的contenteditable属性默认设置为false。用户可以单击div,将其contenteditable属性更改为true,然后添加文本,然后单击“保存”按钮,将属性更改回false 如果用户添加的文本超出了设置的div最大宽度,而没有使用空格或换行符,则会出现问题。比如说, “面积都是超过IV宽度的长名称” 当contenteditable为true时,此文本将以最大宽度开始自动换行,这正是我想要保留的行为。以我们的例子: “区域名称” 这超过了 宽度“D

我有一个应用程序,其中div表的
contenteditable
属性默认设置为false。用户可以单击div,将其
contenteditable
属性更改为true,然后添加文本,然后单击“保存”按钮,将属性更改回false

如果用户添加的文本超出了设置的div最大宽度,而没有使用空格或换行符,则会出现问题。比如说,

“面积都是超过IV宽度的长名称”

contenteditable
true
时,此文本将以最大宽度开始自动换行,这正是我想要保留的行为。以我们的例子:

“区域名称” 这超过了 宽度“D”

contenteditable
false
时,即用户单击“保存”按钮时发生的情况,此文本的换行符被删除,名称溢出到div的边界之外(它将单词放在一行上,而不是将其拆分为多行)。根据我们的示例,文本将从上面更改为:

“AreallyLongNames超过div的宽度”(这将溢出div的边界,而不是我想要的)

哪些css属性导致了不可编辑的内容div的这种行为

contenteditable
设置为false时,是否有办法保留自动换行符<代码>溢出:滚动或
隐藏
不是我的应用程序的最佳解决方案

下面是一个片段,说明了问题:

$('div').attr(“contenteditable”,false);
$('div')。在('click',函数(e)上{
$(this.attr(“contenteditable”,true);
$(this.focus();
$(此).text(“”);
});
函数saveAppt(){
$('div').attr(“contenteditable”,false);
$('div').prop(“只读”,true);
}
div{
身高:100%;
宽度:100%;
填充:10px;
最大宽度:120px;
最大高度:120px;
垂直对齐:中间对齐;
文本对齐:居中;
显示:表格单元格;
大纲:无;
空白:预包装;
边框:1px纯黑;
}

单击div,然后开始键入内容

如果你开始正常打字,换行符会自动输入,这太棒了!这是我想要的,在我们按下“保存”后,即使没有输入空格!
当任何类型都是长名称时,它将不会出现断线并超出IV的边界

保存
看起来像是
换行:断开单词
就是你所需要的;看看下面

下面是一个默认样式表,它将
break-word
应用于可编辑内容

$('div').attr(“contenteditable”,false);
$('div')。在('click',函数(e)上{
$(this.attr(“contenteditable”,true);
$(this.focus();
$(此).text(“”);
});
函数saveAppt(){
$('div').attr(“contenteditable”,false);
$('div').prop(“只读”,true);
}
div{
身高:100%;
宽度:100%;
填充:10px;
最大宽度:120px;
最大高度:120px;
垂直对齐:中间对齐;
文本对齐:居中;
显示:表格单元格;
大纲:无;
空白:预包装;
边框:1px纯黑;
/*附加样式*/
单词包装:打断单词;
}

单击div,然后开始键入内容

如果你开始正常打字,换行符会自动输入,这太棒了!这是我想要的,在我们按下“保存”后,即使没有输入空格!
当任何类型都是长名称时,它将不会出现断线并超出IV的边界

保存
是!这是我一直在寻找的财产。但值得注意的是,只有当我将空白设置为pre-wrap,并将单词wrap设置为break-word时,这才有效<代码>空白:预换行和
换行字:断开单词