如何在jquery或javascript中从处理程序中删除特定回调

如何在jquery或javascript中从处理程序中删除特定回调,jquery,events,callback,handler,Jquery,Events,Callback,Handler,嗨,我想从body元素的jquery处理程序中删除特定的回调。我使用ajax调用加载页面中的内容,主页加载一次,子页面包含body元素的处理程序。每次加载子页面时,它都会将回调添加到body元素。有没有解决这个问题的方法。请参阅jquery的方法。您应该能够执行以下操作: var handler = function() { alert( "The quick brown fox jumps over the lazy dog." ); }; $( "#foo" ).bind( "click

嗨,我想从body元素的jquery处理程序中删除特定的回调。我使用ajax调用加载页面中的内容,主页加载一次,子页面包含body元素的处理程序。每次加载子页面时,它都会将回调添加到body元素。有没有解决这个问题的方法。

请参阅jquery的方法。您应该能够执行以下操作:

var handler = function() {
  alert( "The quick brown fox jumps over the lazy dog." );
};
$( "#foo" ).bind( "click", handler );
$( "#foo" ).unbind( "click", handler );

使用带名称空间的事件名称,然后在将事件添加到
body

$('body').off('click.page1');
$('body').on('click.page1', function(){
})

在使用打开添加处理程序之前,始终可以使用关闭

$(document.body).off('the_event_name', theOldHandlerFunction);
使用/功能

$('#myimage').click(function() { return false; }); // Adds another click event
$('#myimage').off('click');
$('#myimage').on('click.mynamespace', function() { /* Do Something*/ });
$('#myimage').off('click.mynamespace');