У меня есть список флажков и я хочу, чтобы пользователь мог редактировать, что означает каждый флажок, поэтому я вставил поле ввода в метку. Я хочу сохранить метку, чтобы форма оставалась доступной.
<input id="checkbox" type="checkbox">
<label id="label" for="checkbox">
<input id="input" value="some text">
</label>
Проблема в том, что флажок визуально мигает всякий раз, когда кнопка мыши находится над полем ввода. В Chromium и Edge этот флаг sh тонкий, но в Firefox он очень раздражает.
Вот экранная запись, показывающая, как это выглядит Firefox:
![The mouse cursor clicks and selects text in a textbox. The neighboring checkbox briefly flashes into a checked state](https://i.stack.imgur.com/PYpY7.gif)
Я хочу избежать этого флага sh , Я пытался вызвать stopPropagation
для событий mousedown
и pointerdown
, но флажок все еще активирован.
for (let theEvent of ['mousedown', 'pointerdown', 'click']) {
document
.getElementById("input")
.addEventListener(theEvent, e => e.stopPropagation())
}
<input id="checkbox" type="checkbox">
<label id="label" for="checkbox">
<input id="input" value="some text">
</label>