Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как сделать два события на одно нажатие кнопки (https://javascript.ru/forum/events/29536-kak-sdelat-dva-sobytiya-na-odno-nazhatie-knopki.html)

mixt 02.07.2012 15:58

Как сделать два события на одно нажатие кнопки
 
Есть кнопка, в ее onclick прописана функция A.
Нужно добавить второе событие - функция B, которая при нажатии будет менять class нажатой кнопки.

Просьба подсказать ,как сделать...

dmitriymar 02.07.2012 16:04

если в теге onclick="function1();function2();"
если не в теге

el.onclick=function(){function1();function2();}
если через обработчики
el.addEventListener(type, function(){function1();function2();}, false);

ну и расписать реализацию функций

function1=function()
{
........
}
function2=function()
{
........
}

Deff 02.07.2012 16:11

Цитата:

Сообщение от mixt
Есть кнопка, в ее onclick прописана функция A.
Нужно добавить второе событие - функция B, которая при нажатии будет менять class нажатой кнопки.

<input onclick="A();B(this)" ...

mixt 02.07.2012 17:09

что-то не так, чего-то не хваатает в этой конструкции:
<a id="menu_1" class="a1" href="#" onclick='this.blur(); return f1("arg"); return f2(this);'></a>

функция f1 - срабатывает
а f2 не запускается

Маэстро 02.07.2012 17:15

потому что return заканчивает работу javascript_а в текущем блоке (всё, что написано после него не выполняется)

vadim5june 02.07.2012 17:18

[quote=mixt;185839 onclick='this.blur(); return f1("arg"); return f2(this);'
функция f1 - срабатывает
а f2 не запускается[/QUOTE]
по команде return завершается выполнение кода-нужно
onclick='this.blur();f1("arg"); return f2(this);'

dmitriymar 02.07.2012 17:36

а нахрена там ретурн вообще?

bes 02.07.2012 18:34

Цитата:

Сообщение от dmitriymar
а нахрена там ретурн вообще?

Может и нужен :)
<a href="http://javascript.ru" onclick="return f()">link</a>

<script>
function f() {
  var a = document.getElementsByTagName('a')[0];
  alert(a.innerHTML);
  if (a.innerHTML == 'link') {
    return false;
  }
}
</script>


<a href="http://javascript.ru" onclick="return f()">link1</a>

<script>
function f() {
  var a = document.getElementsByTagName('a')[0];
  alert(a.innerHTML);
  if (a.innerHTML == 'link') {
    return false;
  }
}
</script>

mixt 02.07.2012 21:22

да, всем спасибо за подсказки

dmitriymar 02.07.2012 21:28

Цитата:

Сообщение от bes
Сообщение от dmitriymar
а нахрена там ретурн вообще?
Может и нужен
01 <a href="http://javascript.ru" onclick="return f()">link</a>
02
03 <script>
04 function f() {
05 var a = document.getElementsByTagName('a')[0];
06 alert(a.innerHTML);
07 if (a.innerHTML == 'link') {
08 return false;
09 }
10 }
11 </script>


01 <a href="http://javascript.ru" onclick="return f()">link1</a>
02
03 <script>
04 function f() {
05 var a = document.getElementsByTagName('a')[0];
06 alert(a.innerHTML);
07 if (a.innerHTML == 'link') {
08 return false;
09 }
10 }
11 </script>

чего? и вы хотите сказать что ваш ретурн отменил переход по ссылке?


Часовой пояс GMT +3, время: 22:57.