Javascript jQuery开始在标记之间键入
我正在制作一个WYSIWYG编辑器,我想做的是在enter键上输入Javascript jQuery开始在标记之间键入,javascript,jquery,wysiwyg,Javascript,Jquery,Wysiwyg,我正在制作一个WYSIWYG编辑器,我想做的是在enter键上输入preventDefault,当按下enter键时,它会创建一个带有标签的新行。所以本质上每个都是一行。我不知道如何创建并使指针从每个之间开始,如下所示: <div>Line one here</div> // Press enter <div>Start typing next line here</div> // When you press Enter, it creates
preventDefault
,当按下enter键时,它会创建一个带有标签的新行
。所以本质上每个
都是一行。我不知道如何创建
并使指针从每个
之间开始,如下所示:
<div>Line one here</div> // Press enter
<div>Start typing next line here</div> // When you press Enter, it creates a div and automatically when you start typing its in between the tags.
此处第一行//按enter键
开始在此处键入下一行//当您按Enter键时,它将创建一个div,并在您开始在标记之间键入其值时自动创建。
然后,在您再次按下新行后,它只会为下一行创建另一个
。。。有人能帮忙吗?我不需要有关preventDefault
的帮助,只需要在按下Enter键时执行的新操作。在jQuery中创建一个div:
$('<div/>)
$('))
将其置于当前div之后(“obj”应通过按键中的event.target给出)
$(')。后面插入(obj);
到目前为止,它是独立于浏览器的
要放置指针,可以使用TextRanges。它们使您能够移动指针。有两种不同的实现:
IE:其他:从表面上看,这应该不会太难。然而,浏览器的不一致性使其成为问题 基本方法是:
末尾,则创建一个新的
,如果不在,则拆分当前的
。这不是一件小事(比如说,如果插入符号位于
中嵌套的内联元素中,那么您需要做些什么),但仍然是可行的
的开头。这就是它开始出错的地方:,IE也有它自己的问题,我现在已经忘记了其中的细节这很难。看看大编辑(TinyMCE、CKEditor)是如何处理这一问题的。这在跨浏览器中很难做到。我看一下CKddTor和TyMyCE的源代码,看看它们是如何做的。如果用户在“代码< > /COD>的内容中间按Enter,第一部分就不起作用了。
$('<div/>).insertAfter(obj);