Jquery窗口滚动/调整大小适用于绑定,而不是实时

时间:2011-08-16 20:23:54

标签: scroll live jquery

所以我有一个高级搜索表单,当您向下滚动结果时,搜索结果摘要会在您使用此处描述的“有时修复”代码滚动时粘贴到页面顶部 - http://www.bennadel.com/blog/1810-Creating-A-Sometimes-Fixed-Position-Element-With-jQuery.htm

这一切都非常好用,但是当一些表单元素被更改时,它会使用AJAX重新加载整个表单,结果摘要和结果列表。

我注意到它使用bind来检查scroll / resize,但是它需要生效的元素显然已被AJAX取代,所以我把它改为live。这没有用,在进一步挖掘时我发现最初live()只支持某些事件,然后被用来处理所有事件,包括自定义事件,那么为什么它似乎仍然没有使用滚动?

  

在jQuery 1.3.x中只有以下JavaScript事件(除了   自定义事件)可以与.live()绑定:click,dblclick,keydown,   按键,键盘,mousedown,mousemove,mouseout,mouseover和   鼠标松开。从jQuery 1.4开始,.live()方法支持自定义事件   以及所有冒泡的JavaScript事件。截至jQuery 1.4.1甚至   焦点和模糊工作与实时(映射到更合适,   冒泡,事件焦点和焦点)。截至jQuery 1.4.1的悬停   可以指定事件(映射到mouseenter和mouseleave,其中,   反过来,映射到mouseover和mouseout)。

用jQuery 1.4.1,1.5.1,1.6.2尝试过,没有快乐。我做了一些愚蠢的事情,还是我想做的事情是不可能的?

1 个答案:

答案 0 :(得分:1)

看起来很可能我会得到一个简单的解决方案......

所以我重写了搜索脚本的工作方式,以便ajax重新生成'有时修复'的div,并将表单,结果摘要和结果直接加载到他们的div中