0

请参阅下面的代码这是 HTML

 <asp:TextBox ID="txtInTime" runat="server" CssClass="TextBox" Width="60px"
    OnClick="fnFocus(this.id)" ></asp:TextBox>

这是javascript

   function fnFocus(id) {
   document.getElementById(id).focus();    
   }

上面的代码在所有浏览器中都可以工作,期望 chrome...我希望文本框单击以将文本框的焦点放在第一个位置..在 chrome 中没有出现在字符的第一个位置..请帮助...任何建议...??

4

2 回答 2

2

您可以使用以下方法执行此操作setSelectionRange

function fnFocus(id) {
    var input = document.getElementById(id);
    input.focus();
    input.setSelectionRange(0, 0);
}

演示:小提琴

于 2013-10-30T12:43:41.127 回答
0

setSelecionRange 在 Chrome 中不适合我。

试试这个 X 浏览器:

//设置光标位置的功能,然后我们为您的文本框设置位置

$.fn.setCursorPosition = function(pos) {this.each(function(index, elem) {
if (elem.setSelectionRange) {
  elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
  var range = elem.createTextRange();
  range.collapse(true);
  range.moveEnd('character', pos);
  range.moveStart('character', pos);
  range.select();
}   });   return this; };

$('#txtInTime').setCursorPosition(0);

// 在你的代码中

<asp:TextBox ID="txtInTime"...... OnClick="$(this).setCursorPosition(0);"></asp:TextBox>

资源

于 2013-10-30T13:02:18.097 回答