您的位置:首页 > Web前端 > JavaScript

在javascript中如何设置textbox的光标的位置

2009-07-20 20:07 429 查看
上一篇讲了去和获取文本框内光标的位置。

这一篇讲讲如何设置文本框光标的位置。

先讲讲应用场景

为什么要设置文本框光标的位置呢?

在很多开发过程中,对于文本框的录入需要做一些特殊处理(例如,检测屏蔽字符等),如果使用了keyup事件,也就是在keypress之后的事件,对文本框的文本做了处理(例如replace了一些屏蔽字符等),光标往往被设置成到了文本的最后位置。这样的交互性不好。好的交互应该是对文本框中的文本做了特殊处理后,光标的位置应该还是原来的位置,这样才能保证用户输入的文本的流畅性(尤其是插入文本的时候)。

方法:

可以使用上一篇讲的先获取原来光标的位置。

处理文本。

设置光标位置。

代码实例:

<SCRIPT language=javascript>
function moveAtCaret(obj,n)
{
//将obj中光标向dirc方向移动n个字符
obj.focus();
var rng=document.selection.createRange();
rng.moveStart("character", n);
rng.select();
}
</SCRIPT>
<body onload="moveAtCaret(show,5)">
<input id="show" value="1234567890">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: