Jquery 带有标签的按钮可能导致双重点火
我对按钮中的标签有问题,因为点击标签也会导致按钮点击触发 所以我接二连三地被解雇了,当然我不想这样 我的带有标签的按钮如下所示:Jquery 带有标签的按钮可能导致双重点火,jquery,html,javascript-events,Jquery,Html,Javascript Events,我对按钮中的标签有问题,因为点击标签也会导致按钮点击触发 所以我接二连三地被解雇了,当然我不想这样 我的带有标签的按钮如下所示: <button id="b" name="Button" class="btn btn-primary btn-large"> <label id="b_button_label" class="fontf"> Click me </label> </button> 点击我 有没有什
<button id="b" name="Button" class="btn btn-primary btn-large">
<label id="b_button_label" class="fontf">
Click me
</label>
</button>
点击我
有没有什么快速的解决方案,也许是使用jquery,来防止双重触发?是的,解决方案是不要在按钮内放置标签 标签是用来描述控件本身的,单击控件的标签就像单击控件本身一样 根据规范: 标签表示用户界面中的标题。标题可以与特定的表单控件(称为标签元素的标签控件)相关联,可以使用for属性,也可以通过将表单控件放入标签元素本身中来实现
我认为这不是一个有效的HTML代码。不能在按钮内添加标签。向按钮添加文本的简单方法是:
单击我
您可以在jQuery中使用stopPropagation事件来避免冒泡事件
$(function() {
$('#b_button_label').on('click' , function(e) {
e.stopPropagation();
// Your code goes here
});
});
还有,当有值字段显示其文本时,为什么要在按钮内添加标签。为什么要使用标签?如果要单独设置按钮内容的部分样式,可以使用span…+1,尽管HTML无效,但它确实解决了如何防止单击事件到达按钮的问题。当然,使用有效的HTML总是更好。@FrançoisWahl-为什么HTML无效<代码>元素肯定可以包含其他元素,但我找不到确切的允许元素列表(w3示例为
和
)。@nnnn:,我复制了代码,但失败了。默认情况下,它使用HTML4.01。它给出的理由是:文档类型不允许在这里使用元素“标签”
,当使用XHTML1.0时,它说:文档类型不允许在这里使用元素“标签”;缺少“object”、“p”、“h1”、“h2”、“h3”、“h4”、“h5”、“h6”、“div”、“pre”、“address”、“ins”、“del”、“span”、“bdo”、“tt”、“i”、“b”、“big”、“small”、“em”、“strong”、“dfn”、“code”、“q”、“samp”、“kbd”、“var”、“cite”、“abbr”、“首字母缩写”、“sub”、“sup”开始标记之一,谢谢@FrançoisWahl-我想这是
中允许的内容的列表,除非我在列表中没有看到“img”,而且你可以肯定地将
放在
中(根据)。当我尝试在按钮内使用该列表中的随机元素时,它返回为有效的HTML。我不知道我头顶上的有效HTML,这就是为什么我通常使用那个网站的原因。关于img
标记,我只是在上面运行了验证器,它发现它在HTML4.01和XHTML1.0中是有效的。所以这个列表一定不完整。