Как узнать, была ли нажата кнопка? - PullRequest
4 голосов
/ 23 декабря 2010

В javascript, когда пользователь нажимает кнопку, как я узнаю, что это та же кнопка, которую он нажимал в последний раз? Например, если пользователь нажимает кнопку «воспроизведение» и кнопку «Стоп» через несколько секунд, как я могу узнать, что он нажимал кнопку «Воспроизведение» до кнопки «Стоп»?

спасибо !!

Ответы [ 7 ]

1 голос
/ 23 декабря 2010
var lastButton;

<input type="button" onclick="function(lastButton = this){}" />
1 голос
/ 23 декабря 2010

Если вы используете библиотеку jquery для javascript, вы можете использовать событие переключения :

В HTML-коде

<input type="button" id="mybutton">

И в JavaScript

$('#mybutton').toggle(function() {
    //here play function
}, function() {
    //here stop function
});

И вы можете добавить и удалить css для кнопки, чтобы она могла отображаться как игра или остановка.

0 голосов
/ 23 декабря 2010

Вы можете создать массив, и, в функции, которая обрабатывает нажатие на кнопку, вы можете добавить идентификатор кнопки, нажатой на массив.

Чтобы нажать кнопку до того, вы просто получите доступ ко второму или последнему элементу в массиве.

0 голосов
/ 23 декабря 2010

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

<script type="text/javascript">
    var prevButton = null;
    .
    .
    .
    .
    function play(el)
    {
        if(el == prevButton) //Check if User has clicked the same button
        {
            //Add your code here
        }
        else
        {
        }
        prevButton = el;
    }

    .
    .
    .
    function stop(el)
    {
        if(el == prevButton) //Check if User has clicked the same button
        {
            //Add your code here    
        }
        else
        {
        }
        prevButton = el;
    }
    .
    .
    .
</script>
<input type="button" value="Play" onClick="play(this)"/>
<input type="button" value="Stop" onClick="stop(this)"/>
0 голосов
/ 23 декабря 2010

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

0 голосов
/ 23 декабря 2010

Полагаю, вы могли сохранить последнюю нажатую кнопку в переменной.Или вы можете иметь какое-то состояние (воспроизведение, остановка, пауза, перемотка вперед и т. Д.), И кнопки могут вести себя по-разному в зависимости от состояния.

0 голосов
/ 23 декабря 2010

Имя глобальной переменной playClicked и значение true при нажатии кнопки «Воспроизведение». Затем вы можете проверить это в обработчике событий для нажатия кнопки «Стоп».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...