如何在文本框点击事件--- Chrome问题中设置文本框中字符的第一个位置

时间:2013-10-30 12:31:10

标签: javascript jquery asp.net cross-browser httpbrowsercapabilities

参见下面的代码             这是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中没有进入角色的第一个位置.. 请帮忙... 任何建议...... ??

2 个答案:

答案 0 :(得分:1)

您可以使用setSelectionRange执行此操作:

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

演示:Fiddle

答案 1 :(得分:0)

setSelecionRange在Chrome中不适用于我。

试试这个X-Browser:

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

$.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>

Source