首页 > 解决方案 > 有两个事件监听器,如果一个被调用,那么另一个不应被调用

问题描述

无线电输入更改事件有两个事件侦听器,如果发生更改事件,则调用两个事件侦听器。如果调用了另一个事件侦听器,我想禁用/删除它。

<label><input type="radio" name="sex" value="Male">Male</label>
<label><input type="radio" name="sex" value="Female">Female</label>

$("input:[type='radio']").change(function(){
//first listener
})

$("input:[type='radio']").change(function(){
//second listener
})

我所需要的是,如果调用了一个侦听器,则不应调用其他侦听器。

标签: jqueryevent-handlingonchangejquery-events

解决方案


<label><input type="radio" name="sex" value="Male">Male</label>
<label><input type="radio" name="sex" value="Female">Female</label>

flag=false;
$("input[type='radio']").change(function(){
//undesired handler
setTimeout(function(){
if(!flag)
//first handler's code
},300)
})

$("input[type='radio']").change(function(){
//desired handler
flag=true;
//
})

推荐阅读