最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE6下focus與blur錯(cuò)亂的解決方案

 更新時(shí)間:2011年07月31日 23:16:14   作者:  
Miller同學(xué)發(fā)現(xiàn)的IE6 bug:如以下代碼,點(diǎn)擊textarea時(shí),引發(fā)window的blur,導(dǎo)致focus與blur配對(duì)混亂
復(fù)制代碼 代碼如下:

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

這應(yīng)該是一個(gè)很常見的需求,例如,當(dāng)前窗口定期更新數(shù)據(jù),而窗口失焦則減少信息更新頻率。IE6的bug導(dǎo)致的配對(duì)混亂卻會(huì)打亂我們的計(jì)劃。
上網(wǎng)查也沒查出關(guān)于這個(gè)bug的官方說明與推薦解決方案,只好自己生更的實(shí)現(xiàn)一個(gè)解決方案。
代碼如下:
復(fù)制代碼 代碼如下:

<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>

大略原理是:找到很多可能觸發(fā)onfocus與onblur的時(shí)機(jī),所有的onblur都立即執(zhí)行,而onfocus則延時(shí)10毫秒懶惰執(zhí)行。
結(jié)果是:雖說有時(shí)多執(zhí)行了幾次myFocus與myBlur,但能保證窗口狀態(tài)的正確性。
方法可能有點(diǎn)山寨,不過一時(shí)沒想到更好的辦法,這樣也暫時(shí)能解個(gè)燃眉之急。

相關(guān)文章

最新評(píng)論

福贡县| 郁南县| 三原县| 锦州市| 石河子市| 安阳县| 凤城市| 闽清县| 平泉县| 如皋市| 珲春市| 云阳县| 仪陇县| 咸阳市| 延寿县| 且末县| 剑河县| 乌鲁木齐县| 揭阳市| 德清县| 依兰县| 册亨县| 义马市| 晋城| 正宁县| 三亚市| 湖口县| 广德县| 乌兰浩特市| 博客| 兖州市| 通化县| 留坝县| 阿拉善盟| 股票| 庆云县| 柯坪县| 武功县| 池州市| 诏安县| 津市市|