Выполнить функцию js при нажатии определенного элемента

Подскажите пожалуйста, как я могу выполнить функцию go2 при нажатии на button не выполняя функцию go

function go($i) {
  alert($i);
}
function go2($i) {
  alert($i);
}
div {
  width: 200px;
  height: 200px;
  background: #eaeaea;
}
<div onclick="go('159');">
<button onclick="go2('160');">Go 2</button>
</div>


Ответы (1 шт):

Автор решения: Alexander Lonberg

function go($i) {
  alert($i);
}
function go2($i) {
  alert($i);
}
div {
  width: 200px;
  height: 200px;
  background: #eaeaea;
}
<div onclick="go('159');">
  <button onclick="(function(event){event.stopPropagation();go2('160');})(event)">Go 2</button>
</div>

PS: я бы не использовал инлайн

UPD Держи

document.querySelector('div').addEventListener('click', function () {
  alert(this.dataset.number);
})
document.querySelector('button').addEventListener('click', function (e) {
  e.stopPropagation()
  alert(this.dataset.number);
})
div {
  width: 200px;
  height: 200px;
  background: #eaeaea;
}
<div data-number="159">
  <button data-number="160">Go 2</button>
</div>

→ Ссылка