Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать так чтобы по нажатию на кнопку выполнялась функция? (https://javascript.ru/forum/misc/69626-kak-sdelat-tak-chtoby-po-nazhatiyu-na-knopku-vypolnyalas-funkciya.html)

Zombie_Killer 06.07.2017 20:34

Как сделать так чтобы по нажатию на кнопку выполнялась функция?
 
у меня есть html код и js код. я хочу чтобы по нажатию на input срабатывала функция , например myFunc() .
Мне нужно чтобы это все было в js коде.
чтобы функционал был такой же как и тут:
<input type="button" onclick="myFunk()" value="Текст">

но без onclick я хочу чтобы это было в js коде:help: :help: :help: :help: :help: :help: :help: :help: :help:

Teamur 06.07.2017 20:45

function myFunk(){
 alert('Дороу!')
}

var inp = document.querySelector("[type='button']");

inp.addEventListener('click',myFunk)

Zombie_Killer 06.07.2017 20:48

спасибо! но хотелось бы попроще )

Zombie_Killer 06.07.2017 20:54

Teamur,
попроще, пожалуйста

Teamur 06.07.2017 21:05

Вот еще можно так:
<input type="button" value="Текст 1">
<input type="button" value="Текст 2">
<input type="button" value="Текст 3">

var FnList = {
 fn1(){ alert('Функция 1') },
 fn2(){ alert('Функция 2') },
 fn3(){ alert('Функция 3') }
 // ...
}

var buttons = document.querySelectorAll("[type='button']"); // Получаем все кнопки

var b1 = buttons[0]; // Первая кнопка
var b2 = buttons[1]; // Вторая
var b3 = buttons[2]; // Третья

function bind(button, event, func){ // Связь: кнопка-событие-функция
 button.addEventListener(event, FnList[func])
}

bind(b1,'click','fn1');
bind(b2,'click','fn2');
bind(b3,'click','fn3');

Teamur 06.07.2017 21:07

Попроще:
<input id='b1' type="button" value="Текст">


или

<div id='b1'>Приветствие</div>


function Hello(){
  alert('Дороу')
}

b1.onclick=Hello

Zombie_Killer 06.07.2017 21:14

Цитата:

Сообщение от Teamur (Сообщение 457809)
Попроще:
<input id='b1' type="button" value="Текст">


или

<div id='b1'>Приветствие</div>


function Hello(){
  alert('Дороу')
}

b1.onclick=Hello

так не работает

Teamur 06.07.2017 21:20

<!doctype html>
<head>
  <meta charset='utf-8'>
  <title>Теперь работает!</title>
</head>
<body>
  <input id='b1' type="button" value="Текст">
  <script>
    b1.onclick = function(){ alert('Работает!') }
  </script>
</body>


Рекомендуется помещать тег <script> в конце документа, чтобы те элементы с которыми он работает, прогрузились и скрипт узнал о них!

Zombie_Killer 06.07.2017 21:25

спасибо огромное!

Teamur 06.07.2017 21:26

Давай, заглядывай! )


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