Мне нужно установить функцию в качестве EventListener для HTML-элемента - PullRequest
1 голос
/ 08 мая 2019

У меня есть этот HTML-код

<div class = "select">

      <select class = "select-text">
        <option disabled selected> Select user </option>
      </select>

</div>

<button id = "oracle" class = "mdc-button"> Calculate BMI </button>

И этот код JS

const displaySelectedUser = () => {};     
const letsCalculateBMI = () => {};     
const powerupTheUI = () => {};

Используя только селектор DOM в функции powerupTheUI, я должен

  1. установить displaySelectedUser в качестве изменения eventlistener для класса выбора div в html

  2. установить letsCalculateBMI в качестве прослушивателя событий щелчка для кнопки #oracle

я пробовал

document.querySelector(".select").addEventListener("change", displaySelectedUser());     
document.querySelector("#oracle").addEventListener("click", letsCalculateBMI());

И

let oracle = document.querySelector("#oracle");

oracle.addEventListener("click", () => {
    letsCalculateBMI();
});

Но тестовая программа не примет это

1 Ответ

0 голосов
/ 08 мая 2019

Вы вызываете функцию, которая возвращает значение, возвращаемое из функции. Только не вызывайте функцию.

document.querySelector(".select").addEventListener("change", displaySelectedUser);
document.querySelector("#oracle").addEventListener("click", letsCalculateBMI);

Примечание: Вы не сможете получить доступ к элементу, выбранному / измененному с помощью this в обработчике событий, если вы используете функции со стрелками

...