jQuery unbind 使用注意事项

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

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

修改为

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

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

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

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

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

unbind 方法的语法如下:

$(selector).unbind(event,function)
  

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

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

参考