Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как одной кнопке две функции?

boost.mmr.2114 boost.mmr.2114 Ученик (199), на голосовании 7 лет назад
Как одной кнопке две функции? Когда один раз нажимаешь на кнопку, выполняеться одна функция, когда второй раз нажимаешь на кнопку, другая.
Голосование за лучший ответ
Шумахер Мыслитель (8056) 7 лет назад
var $button = $('node.selector'),
firstClickHandler = function () {
$button.on('click', secondClickHandler);
//ну или $button.one('click', secondClickHandler);
//если третий клик обрабатывать не надо
//do something
},
secondClickHandler = function () {
//do something
};

$button.one('click', firstClickHandler);

Ну можно еще через вспомогательную переменную

var $button = $('node.selector'),
action = 0,
clickHandler = function () {
if (action === 0) {
action = 1;
//do something
} else if (action === 1) {
//do something
}
};

$button.one('click', clickHandler);
Nikolaj Blazhko Профи (881) 7 лет назад
Делается обертка для 2х функций, 3х, 4х, да хоть для сотни.. И при клике вызывается обертка, в которой выполняются сами функции, и не нужно никакие переменные использовать
Похожие вопросы