国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

IE6下focus與blur錯亂的解決方案

2019-11-20 23:44:25
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

<body>
<textarea></textarea>
hello
<script>
window.onblur=function(){
document.title= 'blur:' + Math.random() ;
}
window.onfocus=function(){
document.title= 'focus:' + Math.random() ;
}
</script>
</body>

這應該是一個很常見的需求,例如,當前窗口定期更新數據,而窗口失焦則減少信息更新頻率。IE6的bug導致的配對混亂卻會打亂我們的計劃。
上網查也沒查出關于這個bug的官方說明與推薦解決方案,只好自己生更的實現一個解決方案。
代碼如下:
復制代碼 代碼如下:

<body>
<textarea></textarea>
hello
<script>
(function(){
var focusTimer = 0;
function myBlur(){
document.title= 'blur:' + Math.random() ;
}
function myFocus(){
clearTimeout(focusTimer);
focusTimer = setTimeout(function(){
document.title = 'focus:' + Math.random() ;
},10);
}
window.onfocus = document.body.onfocusin = myFocus;
window.onblur = document.body.onfocusout = myBlur;
}());
</script>
</body>

大略原理是:找到很多可能觸發onfocus與onblur的時機,所有的onblur都立即執行,而onfocus則延時10毫秒懶惰執行。
結果是:雖說有時多執行了幾次myFocus與myBlur,但能保證窗口狀態的正確性。
方法可能有點山寨,不過一時沒想到更好的辦法,這樣也暫時能解個燃眉之急。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栖霞市| 陕西省| 龙南县| 壶关县| 石柱| 周宁县| 长白| 弋阳县| 广州市| 河池市| 申扎县| 额敏县| 邻水| 三门峡市| 阳谷县| 济南市| 南涧| 海丰县| 徐水县| 大足县| 任丘市| 湖南省| 临颍县| 昌平区| 宁阳县| 榆林市| 万宁市| 白河县| 玛纳斯县| 兰考县| 独山县| 英吉沙县| 乌兰县| 鄂托克前旗| 绥阳县| 达州市| 大安市| 旅游| 玛曲县| 无棣县| 石泉县|