当我搜索我现在遇到的问题的解决方案时,我发现了这个线程:jQuery:同一事件的多个处理程序.现在我想知道是否有可能只删除这些处理程序中的一个?
Mat*_*all 78
如果您不使用匿名回调,则有可能:
var $elt = $(...);
function clickHandler1(event){...}
function clickHandler2(event){...}
// bind both
$elt.click(clickHandler1);
$elt.click(clickHandler2);
// unbind just the first
$elt.unbind('click', clickHandler1);
Run Code Online (Sandbox Code Playgroud)
另见:.unbind()docs.
Kev*_*ski 54
实际上,您可以通过事件命名空间使用匿名回调来执行此操作:
$elt.bind('click.handler1', function(event) {
alert('click handler 1');
});
$elt.unbind('click.handler1');
Run Code Online (Sandbox Code Playgroud)
见修改演示这里.
而这里了解更多信息.
这是在jQuery 1.4.3中添加的,它实际上是在提出问题之前超过4个月发布的.
| 归档时间: |
|
| 查看次数: |
19017 次 |
| 最近记录: |