Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:如何检测由其他事件引起的单选按钮更改_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery:如何检测由其他事件引起的单选按钮更改

Javascript jQuery:如何检测由其他事件引起的单选按钮更改,javascript,jquery,html,Javascript,Jquery,Html,有一张桌子,每个桌子里面都有一个单选按钮。问题是,已经为我生成了表,并且tds上附加了一个事件,当单击它们时,其中单选按钮的状态也会更改。我无法控制生成的脚本 是否有方法检测单选按钮(无点击/按键)上的值变化或覆盖tds上的内置事件?当单选按钮的状态被检查时,我需要做一些事情 我正在使用jQuery,下面是我当前的代码: $( 'input[type=radio]' ).on( 'change', function() { var $this = $( this ); i

有一张桌子,每个桌子里面都有一个单选按钮。问题是,已经为我生成了表,并且tds上附加了一个事件,当单击它们时,其中单选按钮的状态也会更改。我无法控制生成的脚本

是否有方法检测单选按钮(无点击/按键)上的值变化或覆盖tds上的内置事件?当单选按钮的状态被检查时,我需要做一些事情

我正在使用jQuery,下面是我当前的代码:

$( 'input[type=radio]' ).on( 'change', function() {
    var $this = $( this );
        if( $this.is( ':checked' ) ) alert( 'a' );
} );

您可以向td添加另一个单击事件,并触发单选按钮更改事件

$('td').on('click',function() {
    $('input[type=radio]', this).trigger('change');
}

您可以向td添加另一个单击事件,并触发单选按钮更改事件

$('td').on('click',function() {
    $('input[type=radio]', this).trigger('change');
}

不,没有。。。如果状态被另一个脚本更改,则不会自动触发更改事件。。必须手动完成。。如果您无法控制脚本,那么luckone可能的解决方案是了解哪些事件可以改变无线电状态,并通过使用事件传播在更高级别上处理它们。不,没有。。。如果状态被另一个脚本更改,则不会自动触发更改事件。。必须手动完成。。如果您无法控制脚本,那么luckone可能的解决方案是了解哪些事件可以改变无线电状态,并通过使用事件传播在更高级别上处理它们。好主意!Kiiro:这需要与上面的原始代码配对(而不是替换它)@ArunPJohny我将其解释为“无法控制已经存在的脚本”。。因此,有了一个额外的脚本,就可以做到这一点。如果我错了,对不起@有点意思谢谢你的回答,它很有魅力!虽然我不知道选择器中的“,”this“有什么作用,但我必须仔细阅读。@KiiroSora09该
this
等于单击发生的
td
。jQuery调用接受第二个参数,即上下文
$(选择器,上下文)
如果传递上下文,选择器将仅返回该上下文中的项目。在您的例子中,单击的是
td
中的单选按钮,而不是文档中的所有单选按钮。@MildlyInteresting哇,我今天学到了很多,我以前无法使用上下文。谢谢,好主意!Kiiro:这需要与上面的原始代码配对(而不是替换它)@ArunPJohny我将其解释为“无法控制已经存在的脚本”。。因此,有了一个额外的脚本,就可以做到这一点。如果我错了,对不起@有点意思谢谢你的回答,它很有魅力!虽然我不知道选择器中的“,”this“有什么作用,但我必须仔细阅读。@KiiroSora09该
this
等于单击发生的
td
。jQuery调用接受第二个参数,即上下文
$(选择器,上下文)
如果传递上下文,选择器将仅返回该上下文中的项目。在您的例子中,单击的是
td
中的单选按钮,而不是文档中的所有单选按钮。@MildlyInteresting哇,我今天学到了很多,我以前无法使用上下文。谢谢