单击事件不在引导单选按钮组中触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击事件不在引导单选按钮组中触发相关的知识,希望对你有一定的参考价值。
我动态创建单选按钮,并使用on()函数尝试捕获单击并使用它执行某些操作。
只要我使用单选按钮就可以了。然后,我将单选按钮封装在引导标记中,将其转换为按钮组 - 现在,当我单击按钮时,click事件永远不会触发。不知道我错过了什么!
这是代码
动态生成的标记
<div id="q_opt" class="btn-group" data-toggle="buttons">
<label class="btn btn-default active" id="d_op_0"> <input id="q_op_0" name="op" type="radio" value="0">22%
</label>
<label class="btn btn-default" id="d_op_1"> <input id="q_op_1" name="op" type="radio" value="1">19%
</label>
<label class="btn btn-default" id="d_op_2"> <input id="q_op_2" name="op" type="radio" value="2">11%
</label>
<label class="btn btn-default" id="d_op_3"> <input id="q_op_3" name="op" type="radio" value="3">42%
</label>
<label class="btn btn-default" id="d_op_4"> <input id="q_op_4" name="op" type="radio" value="4">8%</label>
</div>
这是通过jQuery选择器选择无线电的标记,并检查是否触发了点击
$(document).on('click', 'input:radio[id^="q_op_"]', function(event) {
alert("click fired");
}
引导程序是否以某种方式干扰 - 或者我错过了一些步骤?我正盯着代码,我的眼睛不再犯错了。任何帮助/提示赞赏!
(PS - 单选按钮转换为漂亮的按钮组,按钮单击并按住单击的按钮等等。所以行为似乎很好,除了点击没有在on(..)上注册)
答案
改为使用更改处理程序,因为单击发生在标签中
$(document).on('change', 'input:radio[id^="q_op_"]', function (event) {
alert("click fired");
});
但是:ぁzxswい
另一答案
我也遇到了这个挑战。但是,不是将事件监听器放在单选按钮上,而是将它们放在标签上,即:
Fiddle
另一答案
使用输入的onchange()属性。
$('#d_op_1').on("click",function(){
alert("click fired");
});
以上是关于单击事件不在引导单选按钮组中触发的主要内容,如果未能解决你的问题,请参考以下文章
如何在UnChecked时触发单选按钮的OnChange事件