在包含以下代码的页面上,textarea不会使用我键入的文本进行更新,直到我点击它为止。为什么呢?
<html>
<head>
<style>
#canvas {
float: left;
}
</style>
<script>
window.onload = function() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.translate(0, 0);
}
</script>
</head>
<body>
<canvas id="canvas" width=439></canvas>
<textarea></textarea>
</body>
</html>
&#13;
如果我执行以下任何一项操作,我发现textarea会正确更新:
ctx.translate(0,0);
float: left;
这只发生在Chrome中,我无法在Firefox中重现。 我正在运行Chrome 39.0.2171.95和Firefox 34.0.5
答案 0 :(得分:3)
这真是奇怪的行为。您可以通过向textarea添加相对定位来修复它:
<html>
<head>
<style>
#canvas {
float: left;
}
textarea {
position: relative;
}
</style>
<script>
window.onload = function() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.translate(0, 0);
}
</script>
</head>
<body>
<canvas id="canvas" width=439></canvas>
<textarea></textarea>
</body>
</html>
&#13;