对于绑定了one()的事件,有什么方法可以解除绑定吗?有点像unone()
发布于 2011-08-26 02:07:46
引用自JQuery.com:
不能解除绑定使用
.one()创建的监听程序。如果您希望能够解除绑定必须只出现一次的内容,但仍然能够在其发生之前解除绑定,则必须使用.bind()
类似于:
$("#element").on("click",function(event){
//do stuff here
$(this).off(event);
}发布于 2011-08-26 02:06:39
根据文档页面上的评论:
注:不能解除绑定使用.one()创建的监听程序。如果您希望能够解除绑定必须只发生一次的事情,但仍然能够在事件发生之前解除绑定,请使用所提供的用于在事件被调用后解除绑定的示例,并使用.bind()进行绑定。
发布于 2020-09-12 02:21:37
您可以解除绑定任何与.one()绑定的事件。
$('your_element').unbind('event_called_with_one');
$('input[type=text]').focus(function(){
$(this).one('keypress',function(){console.info('This should not print!');});
if($('input[type=checkbox]').prop('checked'))$(this).unbind('keypress');
});<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>
https://stackoverflow.com/questions/7195052
复制相似问题