Итак, я работаю над пользовательским флажком и использую пример из W3Schools .
Что я не могу понять, так это как регистрируется событие нажатия, когда мы не нажимаемфлажок?
Как видно на рисунке ниже, поле ввода находится справа от текста метки.
![enter image description here](https://i.stack.imgur.com/SQMlv.jpg)
ОБНОВЛЕНИЕ
Поэтому, когда флажок находится внутри метки, происходит какое-то волшебство. Но я не хочу, чтобы ярлык был кликабельным, и мне нужно иметь возможность перемещать флажок влево и вправо от ярлыка. Таким образом, проверяя предложение Томаса, я использовал ID и FOR и переместил флажок за пределы метки. Но это не работает.
https://jsfiddle.net/sstieng/r5y9jqgn/8/
HTML
<label class="container">One
<input type="checkbox" checked="checked">
<span class="checkmark"></span>
</label>
CSS
/* Customize the label (the container) */
.container {
display: block;
position: relative;
padding-left: 35px;
margin-bottom: 12px;
cursor: pointer;
font-size: 22px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Hide the browser's default checkbox */
.container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
background-color: #2196F3;
}