Stas Asked:2020-02-26 16:35:25 +0800 CST2020-02-26 16:35:25 +0800 CST 2020-02-26 16:35:25 +0800 CST 滚动附加不起作用 772 滚动不适用于插入的元素,例如: $('.elem').scroll(function(){ console.log('scroll') }) 这不起作用: $('body').append('<div class="elem"></div>') $('.elem').scroll(function(){ console.log('scroll') }) jquery 1 个回答 Voted Best Answer Romualds Cirsis 2020-02-26T16:55:49+08:002020-02-26T16:55:49+08:00 使用on()而不是 scroll() 如果 div 是动态加载的,来自外部的事件(如按钮单击或 ajax 请求,那么您必须在此处声明滚动事件)。 $( document ).ready(function() { $('.button').on('click', function(){ $('body').append('<div class="elem">Scroll me<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>'); $('.elem').on('scroll', function() { console.log('Hallelujah'); }); }) }); .elem {overflow-y:scroll; overflow-x:hidden; height:100px; color:red;} <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <button class="button"> Click me </button> </body> 一切正常
使用on()而不是 scroll()
如果 div 是动态加载的,来自外部的事件(如按钮单击或 ajax 请求,那么您必须在此处声明滚动事件)。
一切正常