【发布时间】:2018-02-21 14:34:32
【问题描述】:
对于这个简单的任务我找不到解决方案,我感到有点尴尬。
在同一行中制作一个复选框和一个跨度标签很容易,我所做的就是这样:
<label class='checkbox' for='visible_1'>
<input id='visible_1' class='visible' type='checkbox'>
<span>Layer_1</span>
</label>
我为复选框设置了一个功能,它显示/隐藏 layer_1 并且效果很好。 我还用jQuery为span-tag设置了一个事件,它在网站上显示了一些文本,但后来我遇到了一个问题,我不能“触摸”span的文本,复选框有点阻塞文本,不管在我点击的地方,只要我在哪一行点击,checkbox和span在哪,我只能选中checkbox。
似乎复选框占据了整行,并且跨标签上的点击事件被复选框阻止了。
我不知道怎么做,因为我不希望复选框占一行而跨度标签占另一个,这更糟。
【问题讨论】:
-
请发布一个工作代码sn-p。
-
span必须包含在label中吗?您可以将span放在标签之外,它应该可以工作(它们将保持在同一行,您将能够单击span)或者单击span时,您要选中/取消选中该复选框并在同时在网站上显示一些文字? -
@SergeyVorobey 谢谢你的回答,但如果我把跨度放在标签之外,它就不会再在同一行了。其实我是在 Stack Overflow 上学到的,把 span 放在标签里,这样我就可以在同一行中获取复选框和 span 的文本
-
正如路易斯所说。我们需要查看您的更多代码以提供帮助(您的函数、依赖项等)
-
@MinXIE 使用默认样式它应该在同一行(我刚刚尝试过),可能在你的 css 中破坏它。只是一个猜测(您可以将跨度放在标签之外,让他们成为兄弟姐妹,并尝试为他们的父母设置
display: flex或为标签设置float:left)
标签: javascript jquery html checkbox