滚动时我无法触发事件监听器。它在点击但不滚动时有效。
我希望它能够工作,即使它正在侦听的div是由于ajax用法而在监听器本身之后创建的。因此,我使用.on
代替.scroll
。
$('.container').on('scroll', '.appended', function(){
console.log('scrolling!');
});
我创建了一个JSFiddle here。
答案 0 :(得分:0)
您需要将侦听器附加到append元素。像这样:
var nAppend = $('<div class="appended">this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br>this is appended<br></div>').scroll(function(){
console.log('scrolling!');
});
setTimeout(function(){$('.container').append(nAppend);},1000);
我更新了您的JSfiddle。
答案 1 :(得分:0)
滚动活动don't bubble,因此委派的方法无法运作。
答案 2 :(得分:0)
改为使用mousewheel
事件监听器:
$('.container').on('mousewheel', '.appended' ,function(e){
if(e.originalEvent.wheelDelta > 0) {
console.log('scrolling up !');
}
else{
console.log('scrolling down !');
}
});