我有以下设置(简化),在标签内我有一些图像,它们激活 JavaScript 功能,如果用户单击这些图像之一,是否有办法忽略标签上的单击?
<input type="checkbox" id="i_87" name="image[]" />
<label for="i_87" style="width:500px;height:500px;background-image:url('image.jpg');">
<img src="bt1.jpg" onClick="somefun1()" />
<img src="bt2.jpg" onClick="somefun2()" />
</label>
Run Code Online (Sandbox Code Playgroud)
只是为了澄清,我不希望它在单击图像时选中复选框,但是在单击其他任何地方时它应该选中复选框!
小智 5
您必须阻止默认操作。最简单的方法是return false从你的函数中。这是一个示例,绕过您的函数(只需从它们返回 false 并且您应该获得相同的行为)。在 Chrome 中测试过,但这是一个非常标准的做法。
<input type="checkbox" id="i_87" name="image[]" />
<label for="i_87" style="width:500px;height:500px;background-image:url('image.jpg');">
<img src="bt1.jpg" onclick="return false;" />
<img src="bt2.jpg" onclick="return false;" />
</label>
Run Code Online (Sandbox Code Playgroud)