。j(.on()之前触发的jquery catch事件)>

问题描述 投票:1回答:1

我仅在绑定DIV.scrollTop(200)之后才调用DIV.on('scroll')函数,但是DIV.on('scroll')会捕获在绑定之前调用的DIV.scrollTop(200)事件!

为什么以及如何避免这种情况?

<div id="1" style="width:300px; height:300px; overflow:scroll; border:1px solid;">
     <div style="width:600px; height:600px; "></div>
</div>


$('#1').scrollTop(200);

$('#1').on('scroll', function(){
  $(this).css("background-color", "red");
});

jsfiddle example

我仅在绑定DIV.on('scroll')后才调用DIV.scrollTop(200)函数,但DIV.on('scroll')会捕获绑定前调用的DIV.scrollTop(200)事件!为什么以及如何避免这种情况?

jquery events
1个回答
2
投票

scroll事件看起来是异步的,甚至强制立即重绘似乎也不起作用。使用香草JS代替jQuery也不会改变观察到的行为。

© www.soinside.com 2019 - 2024. All rights reserved.