在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">
这一篇讲讲如何设置文本框光标的位置。
先讲讲应用场景
为什么要设置文本框光标的位置呢?
在很多开发过程中,对于文本框的录入需要做一些特殊处理(例如,检测屏蔽字符等),如果使用了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">
相关文章推荐
- 如何用JavaScript获取和设置textfield中光标位置(转)
- 在javascript中如何获得textbox输入光标的位置
- 在javascript中如何获得textbox输入光标的位置
- 如何取得TEXTBOX里的光标位置
- JavaScript 获取/设置光标位置,兼容Input&&TextArea
- [转载].NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- 通过 JavaScript 获取和设置光标在输入框中的位置(兼容 IE 及 Firefox)
- [zt]如何用Javascript获得TextArea中的光标位置
- javascript获取以及设置光标位置
- 如何用javascript获得TextArea中的光标位置
- .NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- Flex4如何设置光标位置,让它靠后呢?适用TextInput、TextArea
- C#:TextBox换行、设置光标位置、随文本滚动
- [zt]如何用Javascript获得TextArea中的光标位置
- javascript中获取和设置文本框中光标的位置
- WPF学习笔记-TextBox光标位置如何放到最后?
- 如何用Javascript获得TextArea中的光标位置
- linux终端如何设置光标位置
- C#:TextBox换行、设置光标位置、随文本滚动
- C#:TextBox换行、设置光标位置、随文本滚动