取消绑定onchange而不触发它
Unbind onchange without triggering it
我有一些控件,每个控件在更改时更新其他控件。为了防止递归,我曾考虑在事件处理程序开始时取消绑定onchange事件(一个处理程序由相关控件共享),然后在更新依赖项后重新绑定它。为了方便引用,所有涉及的控件都用DateBoundControl类标记,并且我已经验证了预期的控件是由jquery表达式返回的。
问题代码如下:
function onDateBoundChange(evt) {
$(".DateBoundControl").change();
//do stuff to other controls that use this change handler
$(".DateBoundControl").change(onDateBoundChange);
}
然而,$(".DateBoundControl").change();
似乎触发变化事件。
我错过了什么吗?我解绑定处理程序的过程中有什么缺陷吗?
试试这个:
function onDateBoundChange(evt) {
$(".DateBoundControl").unbind('change', onDateBoundChange);
//do stuff to other controls that use this change handler
$(".DateBoundControl").bind('change', onDateBoundChange);
}
然而,$(".DateBoundControl").change ();似乎触发了更改事件。
正如文档明确指出的那样,这正是它应该做的。
您正在寻找off()
方法,该方法解除绑定事件。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- javascript onchange取消绑定错误|未定义
- 将服务中的函数绑定到$scope(错误:无法设置undefined的属性'onChange')
- 如何绕过绑定的Javascript OnChange Functions
- Jquery id 选择器变量无法绑定到 onchange
- 如何使用 ReactJS、Redux 和 ES2015 将 onChange 回调正确绑定到“this”
- Razor中的Dropdown绑定onchange方法
- 取消绑定onchange而不触发它
- 在ie6中,SharePoint 2007的onchange事件没有解除绑定
- 如何在jquery调用函数中绑定选择菜单中定义的onchange事件
- dom事件-JavaScript onchange选择绑定问题