Skip to content

jQuery unbind 使用注意事项

🏷️ jQuery

之前做了一个画面部分区域异步加载(处于画面可见区域时加载)的功能,昨天为了在 IE8 下可以使用,将

js
$(document).scroll(function () { });

修改为

js
$(window).scroll(function () { });

结果今天发现部分画面打开后变得处于可见区域时不加载了。

后来发现在 Master 页面中有一段悬浮框的代码里使用了

js
$(window).unbind("scroll");

代码,当画面悬浮框的高度超出浏览器高度时,解除了 scroll 绑定的时候,所以才导致异步加载没有成功。

unbind 方法的语法如下:

js
$(selector).unbind(event,function)

当只指定了第一个参数,则会解除绑定该 event 绑定的所有方法。指定需要 unbind 的悬浮框对应的方法后解决了该问题。

js
$(window).unbind("scroll", floatFunctionName);

注意事项

使用 unbind 时,一定要指定对应的方法。以免把不应该 unbind 的方法给 unbind 了。

参考