jquery – 覆盖或删除就绪处理程序

我必须修改使用jQuery的ready处理程序的站点,我不想重用代码而不必再次编写它,但是我需要更改原始就绪处理程序的行为,问题是:

>如何删除就绪处理程序(应用新处理程序)?
>或如何覆盖现有的就绪处理程序(原始使用匿名函数)?

最好的祝福

最佳答案
好吧,显然你不能取消绑定就绪处理程序,确切地说,你不能在使用ready()但你可以使用bind(‘ready’,handler)而不是

$(document).ready(handler);

使用

$(document).bind('ready',handler);

然后,每当您想要更改现有的事件处理程序时使用:

$(document).unbind('ready',handler);//when there is reference to the handler

要么

$(document).unbind('ready');//to remove all handlers for ready event

正如我最近发现你可以添加事件命名空间:)只删除该命名空间中的就绪事件(我偷看了jplayer代码),如下所示:

var GD_EVENT_NAMESPACE = ".grelaDesign";
$document.bind('ready' + GD_EVENT_NAMESPACE,function(){ alert('ready'); });
//later
$document.unbind('ready' + GD_EVENT_NAMESPACE);//this will remove only specific events

最好的祝福

附:我在问这里之前已经进行了广泛的搜索:)很快我就问我找到答案了:-)

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...