1. setCaretPos(element, pos)就是将光标设置在element元素的pos位置
2. 键盘监听
a, 获取当前光标位置
b, 将当前位置后面的那个 _ 去掉(这里面要取原文本, 然后处理, 然后结果写到textarea中, 注意, 此时textarea的光标在最后位置, 所以又第三步)
c, 将光标定位到原当前位置
然后键盘输入自然会在光标的后面位置, 也就是实现了insert功能
我在firefox, ie9下测试通过, 使用了jquery去取dom元素, 如果没
当使用JavaScript点击元素,但光标不移动时,可能是因为没有正确设置光标位置。可以通过设置光标位置来解决这个问题,例如,可以使用JavaScript的selectionStart和selectionEnd属性来设置光标的位置。另外,也可以使用JavaScript的focus()方法来设置光标的位置,这样就可以让光标移动到指定的位置。此外,也可以使用CSS的cursor属性来设置光标的位置,这样就可以让光标移动到指定的位置。总之,只要正确设置光标位置,就可以解决JavaScript点击元素时光标不移动的问题。认证失败后,让input失去焦点就可以实现了!你的代码我就不全部复制了,主要是改 if 语句,代码如下:
if (x == null)
{
window.alert("你选择了放弃")
document.getElementById("input1").blur()
}
else
{window.alert("会的正确,请填写你的密码!")}
==========================================
然后在你的input中加一个ID,如:<input type="type" id="input1" name="pass" onclick="on()">
我试过是可行的。