js点击元素光标不移动

JavaScript011

js点击元素光标不移动,第1张

当使用JavaScript点击元素,但光标不移动时,可能是因为没有正确设置光标位置。可以通过设置光标位置来解决这个问题,例如,可以使用JavaScript的selectionStart和selectionEnd属性来设置光标的位置。另外,也可以使用JavaScript的focus()方法来设置光标的位置,这样就可以让光标移动到指定的位置。此外,也可以使用CSS的cursor属性来设置光标的位置,这样就可以让光标移动到指定的位置。总之,只要正确设置光标位置,就可以解决JavaScript点击元素时光标不移动的问题。

具体思路是

1. setCaretPos(element, pos)就是将光标设置在element元素的pos位置

2. 键盘监听

a, 获取当前光标位置

b, 将当前位置后面的那个 _ 去掉(这里面要取原文本, 然后处理, 然后结果写到textarea中, 注意, 此时textarea的光标在最后位置, 所以又第三步)

c, 将光标定位到原当前位置

然后键盘输入自然会在光标的后面位置, 也就是实现了insert功能

我在firefox, ie9下测试通过, 使用了jquery去取dom元素, 如果没

利用contenteditable=”true”模拟输入框时,focus()方法会将光标定位在文本的首位,需要将光标挪到最后一位

传入当前标签的节点对象(jquery对象)例: $("#addInput") ;