Как проверить клик мыши над элементом?

Условие простое, есть кнопка

<button class="btn">Click</button>

нужно отследить нажатие ее мышью для такого условия:

const btn = document.querySelector('.btn');

if (hash == '' && btn.onclick()) {
  return;
}

Как правильно написать такое условие(проверку)? Возможно в этой истории более правильно использования события - mousedown.

P.S. Данное условие должно проверить пустой ли хеш в URL + не нажата ли кнопка с классом btn.


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

Автор решения: IRonny
const btn = document.querySelector('.btn');

let checker = false;

btn.onclick = () => checker = true;

if (hash == '' && checker === true) {
  console.log('Button clicked');
} 
else console.log('Button not clicked');

Смысл в том, чтобы создать переменную в которой будет находиться состояние кликнул\не кликнул. Если кликнул, то true, если нет, то false. И дальше в зависимости от условий работать с этим.

→ Ссылка
Автор решения: ksa

Данное условие должно проверить пустой ли хеш в URL + не нажата ли кнопка с классом btn.

Могу предложить такой вариант проверки...

const hash = ''
document.querySelector('body').addEventListener('click', e => {
  if (hash == '' && e.target.closest('.btn')) {
    console.log('Наш случай')
    return;
  }
})
<button class='btn1'>btn 1</button>
<button class='btn'>btn</button>
<button class='btn2'>btn 2</button>

→ Ссылка