Показать сообщение отдельно
  #3 (permalink)  
Старый 31.05.2016, 13:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

mytoogle на js, Поочередно выполняет одну из двух или более заданных функций по клику
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>
<div class="target">
  Click here
</div>

<div class="target">
  Click here
</div>

<script>
 function mytoggle() {
    var funs = [].slice.call(arguments, 1);
    var elems = [].slice.call(document.querySelectorAll(arguments[0]));
    elems.forEach(function(item) {
        item.addEventListener("click", function() {
            var c = 0;
            return function() {
                funs[c++ % funs.length].apply(item, arguments)
            }
        }())
    })
};

mytoggle('.target',function() {
  alert('Вызван первый обработчик для .mytoggle().');
}, function() {
  alert('Вызван второй обработчик для .mytoggle().');
}, function(event) {
  alert(event.target);
}
);

</script>
</body>
</html>
Ответить с цитированием