在Javascript中,查找复选框是否已聚焦

在Javascript中,查找复选框是否已聚焦,javascript,dom,checkbox,Javascript,Dom,Checkbox,在Javascript中,如何判断复选框是否有焦点 我以为会有一个叫做isfocused的方法或属性。但显然不是 在焦点中,我的意思是他们已经使用键盘对其进行了标记,此时按空格键将选中该框。当元素接收到焦点时,会触发onfocus事件 <script type="text/javascript"> var isFocused = false; </script> <input type="checkbox" name="team" value="team" o

在Javascript中,如何判断复选框是否有焦点

我以为会有一个叫做isfocused的方法或属性。但显然不是


在焦点中,我的意思是他们已经使用键盘对其进行了标记,此时按空格键将选中该框。

当元素接收到焦点时,会触发onfocus事件

<script type="text/javascript">

var isFocused = false;

</script>

<input type="checkbox" name="team" value="team" onfocus="javascript:isFocused = true;">Spurs<br>

var=false;
马刺

当元素接收到焦点时,会触发onfocus事件

<script type="text/javascript">

var isFocused = false;

</script>

<input type="checkbox" name="team" value="team" onfocus="javascript:isFocused = true;">Spurs<br>

var=false;
马刺

创建连接到onfocus事件的事件处理程序。调用时,设置一个全局变量以记住它已获得焦点。在onblur事件上写入另一个事件以清除变量。

创建一个连接到onfocus事件的事件处理程序。调用时,设置一个全局变量以记住它已获得焦点。在onblur事件上写入另一个选项,以清除变量。

您可能需要勾选onfocus和onblur事件作为复选框,以跟踪它何时获得和失去焦点。

您可能需要勾选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>

onload=函数()
{
var f=document.forms.test;
f、 focusedElem=null;
更新输出(f);
for(var i=0,l=f.elements.length,elem;i
以下是一个可能对您有所帮助的实现基础知识示例。注意:输出内容仅用于演示目的,而不是实际解决方案的一部分

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

onload=函数()
{
var f=document.forms.test;
f、 focusedElem=null;
更新输出(f);
for(var i=0,l=f.elements.length,elem;i
为什么您需要知道它是否“有焦点”?这是否意味着他们选择了它旁边的标签?只有“chec”和“uncheck”似乎很重要。在javascript中,我响应一些键盘事件,我需要知道它是否是列表中的最后一个复选框。如果他们使用鼠标会发生什么?那么我就不必担心了。归根结底,如果他们的标签超过了列表中的最后一个复选框,我需要隐藏列表。如果他们使用鼠标,列表将被关闭。为什么你需要知道它是否有焦点?这是否意味着他们选择了它旁边的标签?只有“chec”和“uncheck”似乎很重要。在javascript中,我响应一些键盘事件,我需要知道它是否是列表中的最后一个复选框。如果他们使用鼠标会发生什么?那么我就不必担心了。归根结底,如果他们的标签超过了列表中的最后一个复选框,我需要隐藏列表。如果他们使用鼠标,列表将被关闭。