js 无法获得焦点怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 无法获得焦点怎么回事?相关的知识,希望对你有一定的参考价值。
document.getElementById(id).focus();
这代码有问题吗?为什么没用呢?
id是传到js方法的那个input的id,我也改成过"nameStr",也是不行。
function setFocus()
document.getElementById('a2').focus();
</script>
<body onload="setFocus()">
<input type="text" id="a1"> <input type="text" id="a2">
</body>
另存为html试一试
调试js的时候可以设置alert来确定代码执行到哪里出错的追问
我按F12来看,没有错误,在那行代码后面写alert();也是正常的,但是那个input就是没有焦点。
追答input是text类型的么?
追问是text的
追答贴出你的代码来看一看
追问我代码已经删除了,我是想修改了这个input的内容后,onchange调用一个方法对内容进行验证,不如不符合要求,就要放焦点再放到这个input上面。方法最后一句就是document.getElementById('a2').focus();这样的,可是那个焦点却没有回去 。
追答那不应该是onchange方法吧,应该是onblur方法的
追问两个方法都试过,最后就是不能得到焦点
追答
function checkUserName()
var username = document.getElementById('username');
if(username.value&&username.value.length
用户名:
密 码:
WPF虚拟键盘如何不获得当前焦点
用wpf写了个模拟键盘控件,为了处理特殊字符,我在键盘上加了一个按钮,
让它点击后会弹出特殊字符的窗口, 但是这样原来的比如在输入框里的焦点就失去了,自动跑到新窗口里去了,有什么方法让弹出窗口时原来的焦点还不变呢?
由于键盘只是一个控件,所以他会在别的地方被用, 所以我无法将失去的焦点设回去。只能想办法让新的窗口弹出时不拿走原有的focus
如果是, 将 键盘控件按钮的 Focusable 属性置为 False,
当点击 Button 时, Input 的焦点并不切换, 并不需要写切换回的代码.
如果在 Button Click 时想得到当前 处于输入(inputable) 状态的控件(例如 TextBox), 可以在 Click 事件中:
IInputElement iie=System.Windows.Input.FocusedElement;
if(iie is TextBox) MessageBox.Show((iie as TextBox).Text);
如果 处于输入状态的控件(如 TextBox) 和你的键盘控件不在同一窗口, 可以在 处于输入状态的控件失去焦点时记下此控件, 以便你在处理按钮事件时用.
另一个方法是, 你自定义的控件 可以增加一个 DependencyProperty 来绑定当前处于输入状的控件. 因为你总需要一个事件来激活虚拟键盘, 在这个事件中设置此属性. 参考技术A 另一个方法是, 你自定义的控件 可以增加一个 DependencyProperty 来绑定当前处于输入状的控件. 因为你总需要一个事件来激活虚拟键盘, 在这个事件中设置此属性. 参考技术B 可以从模式对话框还是非模式对话框这个角度考虑考虑
以上是关于js 无法获得焦点怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章
javascript脚本事件,窗体失去焦点事件怎么写,怎么触发事件????
安卓开发者进来一下,安卓悬浮窗口开发有问,悬浮的EditText为啥无法获得焦点.悬浮窗口不管我