首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将事件绑定到两个函数并在一个函数中解除绑定时

将事件绑定到两个函数并在一个函数中解除绑定时
EN

Stack Overflow用户
提问于 2014-08-08 17:34:18
回答 2查看 77关注 0票数 0

当将事件绑定到两个函数并在一个函数中解除绑定时。

这两个函数都保证由事件触发吗?或者是否应该先调用取消绑定事件的函数,然后解除绑定,然后再调用第二个函数呢?

我做了一个小提琴,看起来这两个函数只调用一次,这正是我所需要的,但它是否保证总是这样呢?http://jsfiddle.net/me2loveit2/8qsdk2tg/

是否有一种方法只将当前正在执行的函数从事件中解除绑定?这样每个函数都会自行解除约束?

代码语言:javascript
复制
$('div').bind('click',function(){
    $('div').unbind('click');
    $('body').append('Fired First Bind Event!<br/>');
});
$('div').bind('click',function(){
    $('body').append('Fired Second Bind Event!<br/>');    
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-08 17:35:54

两者都将触发,因为事件将继续与已设置在项目上的其他单击相一致。如果您再次单击该项目,则不会触发,因为它们都已被取消设置。

票数 1
EN

Stack Overflow用户

发布于 2014-08-08 17:51:25

你可以试试这个:

代码语言:javascript
复制
$('div').bind('click', first);
$('div').bind('click', second);

function first() {
    $('div').unbind('click', first);
    $('body').append('Fired First Bind Event!<br/>');
}

function second() {
    $('body').append('Fired Second Bind Event!<br/>');    
}

这将只解除对first函数的绑定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25209116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档