我分配了两个事件处理程序:
$('#myElement').on('click', '.classA', doSomething);
$('#myElement').on('click', '.classB', doSomethingElse);
Run Code Online (Sandbox Code Playgroud)
我想删除两个处理程序.我知道我能做到:
$('#myElement')
.off('click', '.classA')
.off('click', '.classB');
Run Code Online (Sandbox Code Playgroud)
我认为这可能在一行中,但这两个都失败了:
$('#myElement').off('click', '.classA, .classB');
$('#myElement').off('click', '.classA .classB');
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个命令中执行此操作?
查看源代码后,您将在以下位置看到off:-
return this.each( function() {
jQuery.event.remove( this, types, fn, selector );
}
Run Code Online (Sandbox Code Playgroud)
这意味着选择器需要与它的创建方式完全相同。
因此你需要使用:-
return this.each( function() {
jQuery.event.remove( this, types, fn, selector );
}
Run Code Online (Sandbox Code Playgroud)
$('#myElement').on('click', '.classA', function() { alert('A'); });
$('#myElement').on('click', '.classB', function() { alert('B'); });
$('#myElement').off('click', '.classA').off('click', '.classB');
$('#myElement').on('click', '.classA', function() { alert('A'); });
$('#myElement').on('click', '.classB', function() { alert('B'); });Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |