В Javascript найдите, если флажок установлен - PullRequest
1 голос
/ 11 февраля 2009

В Javascript, как я могу узнать, имеет ли флажок фокус или нет?

Я думал, что будет метод или свойство, называемое isfocused. Но, видимо, нет.

Под фокусом я подразумеваю, что они вкладывают его с помощью клавиатуры, и в этот момент нажатие пробела поставит флажок.

Ответы [ 4 ]

4 голосов
/ 11 февраля 2009

Создать обработчик события, связанный с событием onfocus. Когда он вызывается, установите глобальную переменную, чтобы помнить, что он получил фокус. Напишите еще одно в событии onblur, которое очищает переменную.

1 голос
/ 11 февраля 2009

Вот пример основы реализации, которая может вам помочь. Примечание: выходные данные предназначены только для демонстрационных целей, а не являются частью фактического решения.

<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>
1 голос
/ 11 февраля 2009

Возможно, вам придется просто подключиться к событиям onfocus и onblur, чтобы флажок отслеживал, когда он получает и теряет фокус.

1 голос
/ 11 февраля 2009

Существует событие onfocus, которое срабатывает, когда элемент получает фокус.

<script type="text/javascript">

var isFocused = false;

</script>

<input type="checkbox" name="team" value="team" onfocus="javascript:isFocused = true;">Spurs<br>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...