如何制做富文本框

第一看到导师使用div+textarea实现富文本框的时候,有下面两个疑问:html

1.为何不能直接使用textarea?jquery

本身试了一下,发现textarea会将html标签看作字符串,就算是用append()和html()也不能够。这样就没办法经过span等html标签给文本内容附上样式。app

2.那直接用div呢?dom

一个最重要的问题,div不可编辑。哈,固然能够经过设置 contenteditable=“true”;来解决。但是,你会发现一个问题。由于我作的富文本框要跟后台数据spa

进行校验,正确和错误都要设置不一样的颜色。因此须要引入valuechange()方法。可是每次调用valuechange()方法就会发现光标怎么跑到文本前面去了。伙htm

伴们想要在div+contenteditable=“true”;动态加载图片的时候也会遇到这个问题。对象

能够把光标设置在文本最末端?图片

固然能够。使用range对象可让光标一直处在最末端(el是div对象)rem

var el=$('#text')[0];//如何把jquery对象转为dom
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);

But!若是想记录上一次光标插入的位置!看了不少大牛的博客,input等可输入文本均可以成功设置光标在指定位置。然而,div就是不!行!!!可是,我就是有一种执念,以为没有解决不了的问题,只有不过硬的技术!下面是否是应该接着写解决办法了。loading。。。各位大牛有想到解决办法,求评论
相关文章
相关标签/搜索