yuk*_*mra 59 javascript dom-events
document.getElementById(frmObj.id).value="";
document.getElementById(frmObj.id).autofocus;
document.getElementById("errorMsg").innerHTML = "Only numeric value is allowed";
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,表单对象的值完全设置为""但文本框中没有光标.我想要一个光标在那里.focus()仅关注该输入框但实际上并未设置光标.
Tal*_*lha 82
在JavaScript中首先关注控件然后选择控件以在texbox上显示光标...
document.getElementById(frmObj.id).focus();
document.getElementById(frmObj.id).select();
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery
$("#textboxID").focus();
Run Code Online (Sandbox Code Playgroud)
Ori*_*nis 41
我意识到这是一个相当古老的问题,但我对类似的问题有一个'愚蠢'的解决方案,可能对某人有帮助.
我在文本框中遇到了同样的问题,显示为选中(通过JQuery中的Focus方法),但没有将光标放入.
事实是我打开了Debugger窗口,看看发生了什么,那个窗口正在窃取焦点.解决方案非常简单:只需关闭调试器,一切都很好......测试花了1个小时!
有时您会获得焦点,但文本字段中没有光标。在这种情况下,您可以这样做:
document.getElementById(frmObj.id).select();
Run Code Online (Sandbox Code Playgroud)
可能会困扰您的事情之一是,如果您将.onmousedown其用作用户交互;当您这样做时,然后立即尝试选择一个字段,这种情况不会发生,因为鼠标被按住在其他东西上。因此,更改为.onmouseupviola,现在focus()可以工作,因为当尝试更改焦点时,鼠标处于未单击状态。
小智 5
这种方式将焦点和光标设置到输入的末尾:
div.getElementsByTagName("input")[0].focus();
div.getElementsByTagName("input")[0].setSelectionRange(div.getElementsByTagName("input")[0].value.length,div.getElementsByTagName("input")[0].value.length,"forward");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122067 次 |
| 最近记录: |