我的代码是这样的:
(function() {
var c = $('#board')[0].getContext('2d');
$('#board').click(_tst);
var _tst_idx = 0;
function _tst(e) {
c.fillRect(40 + (_tst_idx++) * 50, 40, 40, 40);
}
})();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="board" width="500" height="500"></canvas>
&#13;
只需单击画布并在其上绘制一个框即可。 但是,当我关注另一个窗口时,第二个框意外消失。 像这样:http://i2.tietuku.com/8398bd6aacc39e5d.png
我使用Chrome 39.0.2171.95/Win 7,我不知道这段代码有什么问题。
感谢。
============更多==================
我曾尝试使用Chrome的隐身模式或禁用所有扩展程序,第二个框仍然消失了。 但是代码可以在我的另一台计算机上运行。 那太奇怪了!
只有第二次渲染到画布才会消失。 所以我在init上使用这段代码来避免它:
(function(a,b){
a(function(){
b(0, 0, 1, 1);
a(function(){
b(0, 0, 1, 1);
});
});
})(requestAnimationFrame, c.clearRect.bind(c));
=============== more =============
当我禁用&#34;在可用时使用硬件加速&#34;在镀铬环境中,它变得很好。 我的GPU:NVIDIA 560TI