在 Javascript 中,如何判断复选框是否具有焦点?
我认为会有一个名为 isfocused 的方法或属性。但显然不是。
通过焦点,我的意思是他们已经使用键盘对其进行了标记,此时按空格键将选中该框。
在 Javascript 中,如何判断复选框是否具有焦点?
我认为会有一个名为 isfocused 的方法或属性。但显然不是。
通过焦点,我的意思是他们已经使用键盘对其进行了标记,此时按空格键将选中该框。
创建一个连接到 onfocus 事件的事件处理程序。当它被调用时,设置一个全局变量来记住它有焦点。在清除变量的 onblur 事件上再写一个。
当元素获得焦点时会触发 onfocus 事件。
<script type="text/javascript">
var isFocused = false;
</script>
<input type="checkbox" name="team" value="team" onfocus="javascript:isFocused = true;">Spurs<br>
您可能只需要连接到复选框的 onfocus 和 onblur 事件,以跟踪它何时获得和失去焦点。
这是一个可能对您有所帮助的实现基础知识示例。注意:输出内容仅用于演示目的,而不是实际解决方案的一部分。
<html>
<head>
<script type="text/javascript">
onload = function()
{
var f = document.forms.test;
f.focusedElem = null;
updateOutput( f );
for ( var i = 0, l = f.elements.length, elem; i < l; i++ )
{
elem = f.elements[i];
elem.onfocus = function( elem )
{
return function()
{
elem.form.focusedElem = elem;
updateOutput( elem.form );
}
}( elem )
elem.onblur = function()
{
f.focusedElem = null;
updateOutput( f )
}
}
}
function updateOutput( f )
{
document.getElementById( 'output' ).innerHTML = ( null == f.focusedElem ) ? 'Nothing!' : f.focusedElem.id;
}
</script>
</head>
<body>
<form name="test">
<input type="checkbox" name="foo" id="foo1">
<input type="checkbox" name="foo" id="foo2">
<input type="checkbox" name="foo" id="foo3">
<input type="checkbox" name="foo" id="foo4">
</form>
What has focus? <span id="output"></span>
</body>
</html>