gpt4 book ai didi

jquery - 使用键盘选择单选按钮时未触发更改事件

转载 作者:行者123 更新时间:2023-12-03 22:03:08 25 4
gpt4 key购买 nike

<script>
$("input[name='my_radio_button']").change(function(){
if ($("input[@name='my_radio_button']:checked").val() == 'ONE'){
do_this_stuff();
} else { do_other_stuff(); }
});
</script>

<input type="radio" name="my_radio_button1" id="radio1" value="ONE" checked />
<input type="radio" name="my_radio_button2" id="radio2" value="TWO" />

(假设完整的 HTML 和脚本在一切准备就绪时触发)

更改事件似乎在单击选择单选选项时触发,但在使用键盘更改选择时则不会触发。对此有什么办法吗?

编辑 - 如果我使用 bindlive 没有区别 - 这只是一个错误吗?

需要澄清的是,即使失去焦点,该事件也不会触发。

编辑2 - 没有人知道这是为什么?

编辑 3 - 正如 DonaldIsFreak 指出的那样,这似乎是一个 chrome 问题

最佳答案

这是一个可靠的修复http://evilstreak.co.uk/blog/fixing-change-events-on-radios

使用它,您将如何通过示例实现它:这是 demo下面的代码http://www.jsfiddle.net/uDkdJ/1/我在 FF3.6、IE8、Safari5、Chrome7 和 Opera10.65 中测试了此演示

$.fn.fix_radios = function() {
function focus() {
if ( !this.checked ) return;
if ( !this.was_checked ) {
$( this ).change();
}
}

function change( e ) {
if ( this.was_checked ) {
e.stopImmediatePropagation();
return;
}
$( "input[name=" + this.name + "]" ).each( function() {
this.was_checked = this.checked;
} );
}
return this.focus( focus ).change( change );
}

$(function() {
$( "input[type=radio]" ).fix_radios();
$("input[name='my_radio_button']").change(function(){
if ($("input[@name='my_radio_button']:checked").val() == 'ONE'){
do_this_stuff();
} else { do_other_stuff(); }
});
});

关于jquery - 使用键盘选择单选按钮时未触发更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028936/

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