Событие документа не запускается, когда он находится на отключенном элементе - PullRequest
1 голос
/ 29 мая 2020

Когда я передаю документу событие mouseup, если указатель мыши находится в отключенном элементе, и я отпустил кнопку. Обработчик события документа mouseup не может сработать. Как мне разрешить вызов обработчика?

Пример:

document.addEventListener('mouseup', () => {
  console.log('mouseup')
}, true)

const changeBtn = document.getElementById('change')
const testBtn = document.getElementById('test')

changeBtn.onclick = () => {
  testBtn.setAttribute('disabled', true)
}
testBtn.onclick = () => {
  console.log('testBtn click')
}
<button id="test">test</button>
<button id="change">change</button>

1 Ответ

2 голосов
/ 29 мая 2020

Использование CSS set pointer-events: none на :disabled элементах:

document.addEventListener('mouseup', () => {
  console.log('mouseup')
}, true)

const changeBtn = document.getElementById('change')
const testBtn = document.getElementById('test')

changeBtn.onclick = () => {
  testBtn.setAttribute('disabled', true)
}
testBtn.onclick = () => {
  console.log('testBtn click')
}
*:disabled {
  pointer-events: none;
}
<button id="test">test</button>
<button id="change">change</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...