今天遇到了一个Ie下文本框聚焦时,光标不能自动定位到文本末尾的问题,在此小记下解决方法:
/*
* 公用方法
* utilityHandle.setFocus() 设置文本焦点定位方 (参数 objFocusEven:将设置聚焦的控件对象;values:焦点定位位置)
* */
var utilityHandle = {
setFocus:function(objFocusEven,values){
objFocusEven.focus();
// 默认使用focus方法聚焦
// 判断是否为Ie浏览器
if ($.browser.msie) {
var txt = objFocusEven[0].createTextRange();
// 将传入的控件对象转换为Dom对象,并创建一个TextRange对象
txt.moveStart('character', values);
// 设置光标显示的位置
txt.collapse(true);
txt.select();
}
}};
// 事件调用
$("#btnView").click(function() {
var setFocusText = $("#txtFocus");
utilityHandle.setFocus(setFocusText,setFocusText.val().length);
});