首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery解除绑定与one()绑定的事件

问Jquery解除绑定与one()绑定的事件
EN

Stack Overflow用户
提问于 2011-08-26 02:01:36
回答 3查看 4.9K关注 0票数 13

对于绑定了one()的事件,有什么方法可以解除绑定吗?有点像unone()

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-26 02:07:46

引用自JQuery.com:

不能解除绑定使用.one()创建的监听程序。如果您希望能够解除绑定必须只出现一次的内容,但仍然能够在其发生之前解除绑定,则必须使用.bind()

类似于:

代码语言:javascript
复制
$("#element").on("click",function(event){
    //do stuff here
    $(this).off(event);
}
票数 21
EN

Stack Overflow用户

发布于 2011-08-26 02:06:39

根据文档页面上的评论:

注:不能解除绑定使用.one()创建的监听程序。如果您希望能够解除绑定必须只发生一次的事情,但仍然能够在事件发生之前解除绑定,请使用所提供的用于在事件被调用后解除绑定的示例,并使用.bind()进行绑定。

http://api.jquery.com/one/

票数 2
EN

Stack Overflow用户

发布于 2020-09-12 02:21:37

您可以解除绑定任何与.one()绑定的事件。

代码语言:javascript
复制
$('your_element').unbind('event_called_with_one');

​

代码语言:javascript
复制
$('input[type=text]').focus(function(){
    $(this).one('keypress',function(){console.info('This should not print!');});
    if($('input[type=checkbox]').prop('checked'))$(this).unbind('keypress');
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type=text>
<label><input type=checkbox checked>unbind</label>

​

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

https://stackoverflow.com/questions/7195052

复制
相关文章

相似问题

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