gpt4 book ai didi

单击标签时 jQuery Click 会触发两次

转载 作者:IT王子 更新时间:2023-10-29 03:24:55 25 4
gpt4 key购买 nike

我正在使用 jQuery 创建自定义单选按钮,但遇到了问题。当单击与 radio 关联的标签时,单击事件会触发两次,如果我仅单击 radio 本身,则它工作正常(实际上,我单击的不是 radio ,而是包装整个输入和标签的 div)。这是代码:

HTML:

 <div id="box">
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem>RADIO1</asp:ListItem>
<asp:ListItem>RADIO2</asp:ListItem>
<asp:ListItem>RADIO3</asp:ListItem>
</asp:RadioButtonList>
</div>

jQuery:

<script type="text/javascript">
$(function () {
$('#box').find('input:radio').each(function (i) {

var input = $(this);
// get the associated label using the input's id
var label = $('label[for=' + input.attr('id') + ']');
// wrap the input + label in a div
$('<div class="custom-radio"></div>').insertBefore(input).append(label, input);

var wrapperDiv = input.parent();

// find all inputs in this set using the shared name attribute
var allInputs = $('input[name=' + input.attr('name') + ']');

// necessary for browsers that don't support the :hover pseudo class on labels
label.hover(

function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover checkedHover');
});

//bind custom event, trigger it, bind click,focus,blur events
wrapperDiv.bind('updateState', function () {
if ($(this)[0].children[1].checked) {
allInputs.each(function () {
var curDiv = $('div > label[for=' + $(this).attr('id') + ']').parent();
curDiv.removeClass('custom-radio-checked');
curDiv.addClass('custom-radio');
});
$(this).toggleClass('custom-radio custom-radio-checked');
}
else {
$(this).removeClass('custom-radio-checked checkedHover checkedFocus');
}

})
.trigger('updateState')
.click(function () { console.log('click'); })
.focus(function () {
label.addClass('focus');
}).blur(function () {
label.removeClass('focus checkedFocus');
});
});
});
</script>

是否有针对此行为的任何解决方案?

最佳答案

我尝试通过添加来添加上面的解决方案:

evt.stopPropagation();
evt.preventDefault();

但是没用。但是添加这个:

evt.stopImmediatePropagation();

问题解决了! :)

关于单击标签时 jQuery Click 会触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8238599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com