Подтвердить что ты не робот

Событие отправки с данными

Я бы хотел отправить событие, которое передаст пользовательские данные любому слушателю событий, который прослушивает это событие.

Учитывая функцию, которая запускает событие:

function click() {
  var x = 'foo';
  document.dispatchEvent(new CustomEvent('clicked'));
}

click();

Как передать пользовательские данные слушателю событий?

document.addEventListener('clicked', function(e) {
  console.log(x); // logs "foo"
});
4b9b3361

Ответ 1

Возможно, вы ищете event.detail

new CustomEvent('eventName', {'detail': data})

Вместо использования данных x и в прослушивателе событий вы можете получить доступ к x, используя event.detail

function getSelectionBounds() {
  var x =(bounds["x"].toFixed(2));
 var y=  "xyz";
  var selectionFired = new CustomEvent("selectionFired",{ "detail": {"x":x,"y":y }});

  document.dispatchEvent(selectionFired);
};

document.addEventListener("selectionFired", function (e) {
  alert(e.detail.x+"   "+e.detail.y);
});