我的应用程序在调用 $(document).ready 后向 DOM 添加一些元素。我正在使用 jQuery 1.9.0
以下示例有效。
$(document).on("click", "#box-descr", function(evt) {
console.log("I showed up");
});
但是,我想在元素出现在屏幕上时执行该函数。我在这里看不到任何用于此目的的事件 http://api.jquery.com/category/events/
基本上,它是一个单页应用程序,因此仅调用一次文档就绪,但当用户与 UI 交互时,元素会进出屏幕。
最佳答案
也许你想要.ready()
函数:
$("#box-descr").ready(function(){
console.log("I showed up");
});
或者如果您要淡入淡出:
$("#box-descr").fadeIn(1000, function(){
console.log("I showed up");
});
<小时/>
更新:正如@Jeff Tian的评论-
您需要将事件委托(delegate)给最近的静态父级或文档
,如下所示:
$(document).on("ready", "#box-descr", function(){
console.log("I showed up");
});
关于JQuery "on appear"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15829205/