js中,为可编辑div添加表情后如何光标移至最后

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中,为可编辑div添加表情后如何光标移至最后相关的知识,希望对你有一定的参考价值。

参考技术A   会经常遇到选择后可编辑div中的光标不见了,或者显示的位置不对,现在总结下:
  function set_focus()

el=document.getElementById('guestbook_editor');
//el=el[0]; //jquery 对象转dom对象
el.focus();
if($.support.msie)

var range = document.selection.createRange();
this.last = range;
range.moveToElementText(el);
range.select();
document.selection.empty(); //取消选中

else

var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);



  调用此方法,可以将光标放在可编辑div的最后。

vi的快捷方式

a 在当前位置添加,同时切换到编辑模式
i 在光标所在位置插入文本
esc 切换到命令模式
: 开始输入命令
ZZ | :WQ | :x 保存并退出
:q! 强制退出并且不保存
:w 保存不退出
/字符串 查找字符串
:s/被替换的字符串/替换用的字符串/
:s/被替换的字符串/替换用的字符串/g
:n,$s/被替换的字符串/替换用的字符串/ 从n行开始替换到最后

H 光标移至屏幕顶行
L 光标移至屏幕末行
G 光标移至文件末行
w 光标右移一个词
b 光标左移一个词
0 (数字零) 光标移至行首
^ 光标移至当前行第一个非空格字符
$ 光标移至当前行行尾
:set number 显示行号

I (大写字母 i) 在当前行首插入文本
J (大写字母 j) 将下一行与当前行合并(下一行上移到当前行)
a 在光标所在位置后追加文本
o (小写字母 O) 在当前行下边插入空白行
O (大写字母 O) 在当前行上边插入空白行
r 替换光标所在位置的一个字符
R 从光标所在位置开始覆盖插入文本
x 删除光标所在位置的字符
X 立即删除光标所在位置之前(左边)的一个字符
dd 剪切当前整行文本(为了之后进行粘贴)
D 剪切光标所在位置到行末的文本(该命令等效于 d$)
yy 或 Y 复制当前整行
p 粘贴在光标所在位置之后(下一行)
P 粘贴在光标所在位置之前(上一行)
. (句点) 重复最后一个命令
u 撤销最后一个命令
n 在查找中跳到下一个匹配项
N 在查找中跳到前一个匹配项

:e file 加载新文件来替代当前文件
:r file 将新文件的内容插入到光标所在位置的下一行
:q 退出并放弃更改
:w file 将当期打开的缓存区保存为file。如果是追加到已存在的文件中,则使用 :w >> file 命令
:wq 保存当前文件的内容并退出。等效于 x! 和 ZZ
:r! command 执行 command 命令,并将命令的输出插入到光标所在位置的下一行

:%s/s1/s2/ 用字符串s2替换每行的第一个字符串s1

:%s/s1/s2/g 用字符串s2替换每行的所有字符串s1

 

:n,$s/s1/s2/ 用字符串s2替换从n行开始到最后一行,每行的第一个字符串s1

:5,$s/s1/s2/g 用字符串s2替换从n行开始到最后一行的所有字符串s1

:.,$s/s1/s2/g 用字符串s2替换从当前行开始到最后一行的所有字符串s1

 

:s/s1/s2/ 用字符串s2替换当前行的第一个字符串s1

:s/s1/s2/g 用字符串s2替换当前行的所有字符串s1

 

:n1,n2s/s1/s2/g n1与n2为数字,在第n1与n2行之间寻找n1字符串并替换成n2

:n1,n2s/s1/s2/gc n1与n2为数字,在第n1与n2行之间寻找s1字符串并替换成s2,且在替换前显示提示字符给用户确认是否替换

 

s1和s2中的特殊字符需要使用转义符号,进行转义。

:1,$s/output/log\/output/g
使用的转义字符把output替换成log/output。因为/为特殊字符,需要用转义

以上是关于js中,为可编辑div添加表情后如何光标移至最后的主要内容,如果未能解决你的问题,请参考以下文章

可编辑DIV 光标位置 处理

可编辑div问题总结(光标,显示等)

linux中的vim 编辑一行内容,如何使光标快速移动到行首和行尾以及行中间某处啊

如何获取可编辑div或body里光标的像素位置?

请教JS大神,如何在一个可编辑的DIV里,获取当前光标的位置,需要兼容IE9+

vim中,将光标移至第60行,并且删除行尾的15个字符,如何执行命令?