gpt4 book ai didi

javascript - 不能重新绑定(bind)滚动事件?

转载 作者:行者123 更新时间:2023-11-29 22:23:05 25 4
gpt4 key购买 nike

我想在 ajax 调用中重新绑定(bind)窗口滚动事件

$(window).scroll(function(){
column_height = $("#first_column").height();
screenTop = $(window).scrollTop();
window_height = $(window).height();

if((screenTop+window_height)>=column_height){

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


$.ajax({
url: "/service/article_json.php",
type: 'GET',
async: false,
cache: false,
timeout: 30000,
error: function(){
return true;
},
success: function(data){
$.each($.parseJSON(data), function(key,item) {

//Add content to #first_column

$(window).bind('scroll');

});
}
});
}
});

$(window).bind('scroll'); 似乎不起作用。

最佳答案

当您.unbind 时,对绑定(bind)事件的引用不会存储在任何地方或任何地方。 $(window).bind('scroll') 实际上什么都不做。

首先,如果您使用的是 1.7,则应改用 .on.off。没什么大不了的。

有几种方法可以做到这一点,但最简单的方法是单独定义函数并使用它的名称来绑定(bind)/解除绑定(bind)。您甚至可以将它附加到窗口(尽管我认为只需使用 function 关键字就可以做到这一点。无论如何..)

$(window).data('scrollEvent', function() { /* your func here */ });
$(window).on('scroll', $(window).data('scrollEvent'));

您可以使用第二行来替换上面的 $(window).bind('scroll')。当心递归。

关于javascript - 不能重新绑定(bind)滚动事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com