Java Script Add Event Listener - PullRequest
       5

Java Script Add Event Listener

0 голосов
/ 10 июня 2018

Я пытаюсь подключить прослушиватель событий, но вместо такого события, как «щелчок», я хочу, чтобы это было, когда переменная удовлетворяет определенным критериям.Например:

let x = 1;
let y = 2;

const myObject = document.getElementById('myObject')

myObject.addEventListener('x==3 && y == 4', function() {
}

Я не уверен, возможно ли это или нет без использования оператора if внутри функции, но, возможно, у вас, ребята, было решение или способ обойти это?Заранее спасибо:)

1 Ответ

0 голосов
/ 11 июня 2018

Я не уверен, как ваш элемент myObject знает, каковы значения x и y, но вы можете добавить прослушиватели событий к идентификатору некоторого элемента, который вызывает изменение x или y, и запустить функцию, котораяпроверяет их значения.Если вы хотите вызвать совершенно другое событие, когда x и y достигают желаемых значений, просто вызовите функцию внутри оператора if, которая проверяет нужные значения.В этом примере значения сбрасываются, если x или y достигают значения 10. Надеюсь, это каким-то образом полезно!

const xElem = document.getElementById('x');
const yElem = document.getElementById('y');
let x = 0;
let y = 0;

xElem.addEventListener('click', changeFunction);
yElem.addEventListener('click', changeFunction);

function changeX(){
  x++;
  xElem.innerHTML = `x = ${x}`;
}

function changeY(){
  y++;
  yElem.innerHTML = `y = ${y}`;
}

function changeFunction() {
  if(x == 3 && y == 4){
    alert('there you have it!');
  }
  if(x == 10 || y == 10){
    doThisOtherThing()
  }
}

function doThisOtherThing() {
  alert('reset');
  x = 0;
  y = 0;
  xElem.innerHTML = 'change x';
  yElem.innerHTML = 'change y';
}
<div>
  <button id="x" onClick="changeX()">change x</button>
  <button id="y" onClick="changeY()">change y</button>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...