我遇見引起滾動事件的問題,這個問題是可以重現如下:滾動事件持續多長時間?
焦距設定爲未在瀏覽器窗口在默認情況下看到的元素(需要滾動才能看到它)。
然後附加偵聽器來捕獲滾動事件。
我困惑的是,當我設置集中不見元素,它將觸發滾動事件,如何監聽捕捉滾動事件後來附?我想也許這個滾動事件會持續一段時間,但多久?任何人都可以給我一個建議嗎?
這裏是一個簡單的代碼來重現:
<html>
<head>
<script type="text/javascript">
var onchange = function(){
var ip1 = document.getElementById("target");
var ip2 = document.getElementById("source");
var parent = document.getElementById("parent");
ip2.focus();
document.onscroll = function(e){
console.log("scroll");
};
}
</script>
</head>
<body onload="onchange()">
<input id="target"></input>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<div id="parent">
<input id="source">
</div>
不知道到底是什麼問題,你是想在這裏解決 - 和而滾動事件實際上並沒有「最後「比任何其他事件都長,在滾動網站的過程中可能會經常觸發它,如果您正在嘗試根據該事件做某些事情,可能會產生性能影響。使用計時器的更深入的解釋和可能的解決方法可以在這裏找到:http://ejohn.org/blog/learning-from-twitter/ – CBroe 2014-09-02 02:05:40