【发布时间】:2010-02-27 23:55:23
【问题描述】:
我最近发现自己需要通过 WordPress 的媒体管理器 (media-upload.js) 删除绑定到窗口调整大小事件的函数,因为它干扰了Thickbox 的正确使用。活动附件如下:
a(window).resize(function(){tb_position()})
我花了一段时间,但我终于发现我可以这样做:
jQuery.each( jQuery(window).data('events')['resize'], function(i, event) {
var thisEvent = event.toString().replace(/\n/g, '').replace(/\t/g, '').split(' ').join('');
var expectedEvent = 'function(){tb_position()}';
if (thisEvent == expectedEvent)
delete jQuery(window).data(‘events’)[‘resize’][i];
})
在这里,我循环浏览事件,从中删除空格、制表符和新行,并将它们与我正在寻找的内容进行比较,当我找到它时,我将它从该死的气闸中扔掉。在这种情况下,附加函数可能没有空格、制表符或换行符,但据我所知,这种方式也适用于更复杂的函数。
有没有更简单和/或更优雅的方式来做到这一点?这是未来灾难的秘诀吗?
【问题讨论】:
标签: javascript jquery events wordpress