【发布时间】:2013-11-20 12:16:55
【问题描述】:
您好,我想从 body 元素的 jquery 处理程序中删除特定的回调。我正在使用 ajax 调用加载页面中的内容,主页面加载一次,子页面包含 body 元素的处理程序。每次加载子页面时,它都会将回调添加到 body 元素。有什么办法可以解决这个问题。
【问题讨论】:
标签: jquery events callback handler
您好,我想从 body 元素的 jquery 处理程序中删除特定的回调。我正在使用 ajax 调用加载页面中的内容,主页面加载一次,子页面包含 body 元素的处理程序。每次加载子页面时,它都会将回调添加到 body 元素。有什么办法可以解决这个问题。
【问题讨论】:
标签: jquery events callback handler
使用命名空间的事件名称,然后在将事件添加到 body 时将其删除,就像在 subpage 1 中一样
$('body').off('click.page1');
$('body').on('click.page1', function(){
})
【讨论】:
查看 jquery 的unbind 方法。您应该能够执行以下操作:
var handler = function() {
alert( "The quick brown fox jumps over the lazy dog." );
};
$( "#foo" ).bind( "click", handler );
$( "#foo" ).unbind( "click", handler );
【讨论】:
在使用on 添加处理程序之前,您始终可以使用off。
$(document.body).off('the_event_name', theOldHandlerFunction);
【讨论】: