TLDR
在IE8 http://jsbin.com/ucahor/1/edit#/ucahor/2/edit中打开它
单击空白行,然后立即按Backspace
。删除2行
单击空白行,等待一秒钟,然后按Backspace
。删除1行
我可以做些什么来解决这个问题吗?
全文
我正在尝试为我的Web应用程序创建最好的富文本编辑器。我已经NicEdit并添加了一堆功能。我正在使用nicedit,因为它是唯一一个满足我测试的9个要求的编辑器。
我添加到NicEdit的实现中的一件事是为我的用户编写的常见报告插入标题。这个问题是我需要一种在标题之间有空行的方法。我无法使用<br/>
代码,因为它们不能很好地插入列表而我无法使用<div>
代码,因为Internet Explorer在内容可编辑div中存在div问题。
这使我使用<p>
标记来指示新行。
但是,我不能只使用<p></p>
,这是用户代理忽略空P
标记的HTML标准。
目前我的用户正在使用<p> </p>
,但这会使每行都缩进一个空格,新行没有空格。
我发现有一个Zero Width Space
字符​
可以让我的P
代码被渲染,而且每行都没有空格!
我的新<p>​</p>
效果很好,除非用户正在删除某行,第一个退格区似乎什么都不做。
所以我为了退格而绑定了我的keydown事件。它检查光标前的字符,如果它是我的Zero Width Space
字符,我将其删除并让退格区继续正常。
这是有效的,除非您单击要删除的行并快速单击退格键。该操作导致删除2行。
您可以加载IE8并在此处试用。 http://jsbin.com/ucahor/1/edit#/ucahor/2/edit