我遇到了一些错误,因为jQuery中的一个事件绑定器附加到了'keyup'和'blur'。但是当我从DOM中删除输入时,似乎会触发blur事件,从而在不存在的DOM输入上重新运行处理程序。
qlfbtfca1#
如果事件侦听器是使用jQuery添加的,则可以使用unbind:
unbind
$(/* ... */).unbind('blur');
在较新版本的jQuery中,首选off:
off
$(/* ... */).off('blur');
vlju58qv2#
触发事件时,可以在处理程序中验证thisif (this && $(this).length > 0 ) { /*do stuff*/ }
this
if (this && $(this).length > 0 ) { /*do stuff*/ }
2条答案
按热度按时间qlfbtfca1#
如果事件侦听器是使用jQuery添加的,则可以使用
unbind
:在较新版本的jQuery中,首选
off
:vlju58qv2#
触发事件时,可以在处理程序中验证
this
if (this && $(this).length > 0 ) { /*do stuff*/ }