我正在使用 EaselJS 开发一个 HTML5 应用程序,它使用一个覆盖整个窗口的画布元素来显示其界面。我正在使用以下函数来修复画布边界,以防用户调整窗口大小:
function resizeCanvas(event) {
if (window.onresize == null) window.onresize = resizeCanvas;
canvas.width = document.body.clientWidth;
canvas.height = document.body.clientHeight;
stage.update();
}
然而,当画布边界改变时,它的一些元素(createjs.Stage() 对象的子元素)也必须改变。理想情况下,我想resizeCanvas()
简单地分派一个事件并让适当的stage.children()
对象响应。我尝试在上述函数中添加以下行:stage.dispatchEvent(event)
并创建如下形状对象:
var grid = new createjs.Shape(drawGrid());
grid.addEventListener('resize', function(evt) { alert(evt); }, false);
stage.addChild(grid);
然而,这不起作用,似乎我严重误解了事件。