繁体   English   中英

是另一个脚本劫持jQuery(window).resize()吗?

[英]Is another script hijacking jQuery(window).resize()?

我正在Chrome和Firefox中尝试以下代码,并且仅记录NATIVE RESIZE:

window.onresize = function(){ console.log( "NATIVE RESIZE" ) }

jQuery(window).resize(function(){ console.log( "JQUERY RESIZE" ) });

jQuery.resize()永远不会触发。 当您调整浏览器窗口的大小时,window.onresize几乎会不断触发(我稍后将实现反跳操作)。

这不是在该生态系统中运行的唯一JavaScript-该脚本是在WordPress +主题安装的上下文中执行的,因此肯定还有其他作用,因为此jsfiddle可以按预期完美运行。

我该如何继续(而无需系统地禁用其他脚本)来找出正在劫持jQuery.resize()的原因。 而且,如何甚至劫持jQuery.resize()? 我本以为调用jQuery.resize()只会将您的处理程序添加到队列中,而不是完全替换已经存在的处理程序...

另一个脚本通过全局取消绑定劫持了jQuery(window).resize()队列,如下所示: jQuery( window ).unbind( 'resize' )

正是由于这个原因,这不是一个好习惯。 解决方案:如果绝对必须解除绑定处理程序,则将处理程序从匿名函数移至命名空间函数。 然后,在您的命名空间上下文中, jQuery( window ).unbind( 'resize', yourFunction )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM