jquery - 有两个事件监听器,如果一个被调用,那么另一个不应被调用
问题描述
无线电输入更改事件有两个事件侦听器,如果发生更改事件,则调用两个事件侦听器。如果调用了另一个事件侦听器,我想禁用/删除它。
<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
})
我所需要的是,如果调用了一个侦听器,则不应调用其他侦听器。
解决方案
<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;
//
})
推荐阅读
- c++ - 有没有办法访问另一个文件中的对象?
- python - 在 python 中绘制大量段(使用 matplotlib 或 pyqtgraph)
- javascript - 我的控制台上有这个错误,无法理解它“console.error.apply(console, Object(rd)(t))”
- asp.net - 如何在我创建的新类库中的 ASP.Net 类库中找不到类型或命名空间“HttpContextBase”
- javascript - 使用 Promise Hooks React JS 跟踪组件外部的状态更新
- vba - INSERT INTO - 错误,但允许输入到表中
- python - 在 Jetson Nano 上重新安装 OpenCV
- python - 函数返回相同的列表两次
- python - 如何从以下 HTML 代码中提取文本?
- html - 如何使用 CSS 隐藏 flex 列中的部分行?