Luk*_*ela 5 jquery overriding handler ready
我必须修改使用jQuery的ready处理程序的站点,我不想重用代码而不必再次编写它,但是我需要更改原始就绪处理程序的行为,问题是:
最好的祝福
好吧,显然你不能解除就绪处理程序的绑定,准确地说,当使用ready()时你不能解除绑定,但你可以使用bind('ready', handler)所以而不是
$(document).ready(handler);
Run Code Online (Sandbox Code Playgroud)
用
$(document).bind('ready', handler);
Run Code Online (Sandbox Code Playgroud)
然后每当您想更改现有的事件处理程序时,请使用:
$(document).unbind('ready', handler);//when there is reference to the handler
Run Code Online (Sandbox Code Playgroud)
或者
$(document).unbind('ready');//to remove all handlers for ready event
Run Code Online (Sandbox Code Playgroud)
正如我最近发现的,您可以添加事件命名空间:) 以仅删除该命名空间中的就绪事件(我已经查看了 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
Run Code Online (Sandbox Code Playgroud)
此致
ps 我在这里问之前进行了广泛的搜索:) 在我问过之后不久我就在 bing 上找到了答案:-)
| 归档时间: |
|
| 查看次数: |
4902 次 |
| 最近记录: |