
为什么点击span元素会触发input元素的点击事件?
代码中,点击滑块(Slider)本应触发Span元素的点击事件,而非Input元素。然而,由于使用了<label></label>标签,导致点击事件被Input元素捕获。
<label></label>标签将Span和Input元素关联起来。这意味着,点击<label></label>标签内的任何元素,都会触发关联的Input元素的点击事件。 这正是HTML <label></label>标签的预期行为,正如MDN文档所述:<label></label>元素通常与表单输入元素(例如<input>)一起使用,以便在单击标签文本时触发该控件。
因此,点击Span元素实际上也触发了关联的Input元素的点击事件。
解决方法:
为了避免此问题,可以使用<div>元素代替<code><label></label>元素来包裹Span和Input元素,从而解除两者之间的关联,使点击事件只作用于被点击的元素。










