Ian*_*ark 8 javascript browser dom-events
在尝试滚动元素而不调用普通事件处理程序时,我偶然发现了这个
使用Firefox和IE10我发现scrollTop
方法运行方式有一些非常奇怪的行为.例如,如果我设置scrollTop
on a div
和aferwards,将scroll
事件处理程序绑定到同一个元素,则处理程序立即触发.从我的测试来看,这不会发生在Chrome上,这让我觉得FF和IE正在将最微小的动画应用到他们的卷轴上,或者这是某种错误.
参见JSFiddle示例.有趣的是,如果我在分配之前设置1ms的超时,问题就会消失.我想知道这里发生了什么,以及解决它的最佳方法是什么.
更新:从下面的评论却仿佛这可能被认为是正常的浏览器的行为,所以我会更新我的问题要问这是怎么回事-请引用其更详细地解释这一过程中一些有趣的文章.
IE和FF中发生的事情如下:
这与此代码不同:
var dv = document.getElementsByTagName("div")[0];
dv.scrollTop = dv.scrollHeight;
setTimeout(function(){
dv.onscroll = function() {
console.log("scrolled!");
}, 0);
Run Code Online (Sandbox Code Playgroud)
以下哪些方面很开心:
归档时间: |
|
查看次数: |
1291 次 |
最近记录: |