如何在使用jQuery动态添加内容时自动触发onscroll?

时间:2012-09-24 02:22:48

标签: jquery scroll eventtrigger

使用.on(scroll.scroll(,我们可以在进行物理滚动时检测窗口或元素滚动,方法是拖动滚动条或使用鼠标滚轮。

但动态添加的内容无法自动触发

以下是一个示例:http://jsfiddle.net/vs5bR/

这有什么解决方案吗?我见过DOM检查方法,它一直检查DOM元素的变化,看起来不是很好。

3 个答案:

答案 0 :(得分:0)

您可能希望委派滚动事件。

在此处查看.on()的文档:http://api.jquery.com/on/

简而言之..如果您将“选择器”参数传递给.on()函数,您的处理程序也会附加到您调用.on()后添加的任何元素。

以前是使用live()完成的,现已弃用。

答案 1 :(得分:0)

好的,我找到了一个解决方案,但它只适用于Firefox

https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/MozScrolledAreaChanged?redirectlocale=en-US&redirectslug=DOM%2FDetecting_document_width_and_height_changes#Example

document.addEventListener("MozScrolledAreaChanged", function( event ) {
    // do something
}, false);

我还在等待跨浏览器解决方案...

答案 2 :(得分:0)

您可以自动滚动div。这也将触发滚动事件。 查看your fiddle

中的javascript

将以下内容添加到click事件中。这个示例使用jQuery选择器来获取元素,但是你可以在没有jQuery的情况下做到这一点

var mydiv = $('#content')[0];
mydiv.scrollTop = mydiv.scrollHeight;