我正在尝试像在 jquery 中一样将我自己的对象参数添加到画布元素中(就像它将 element_id.draggable、element_id.resizable 等添加到 dom 元素中一样)。我的一段代码如下所示:
window.addEventListener("DOMContentLoaded",handler,false);
function handler()
{
HTMLCanvasElement.prototype.animateLine=function(x1,x2,y1,y2,params) {
if(params)
init(this,x1,x2,y1,y2,params.lineColour,params.lineWidth,params.divisions,params.totalTime,params.callback);
else
init(this,x1,x2,y1,y2);
};
}
这样当用户声明一个canvas标签时,就可以直接调用canvas_id.animateLine()
执行上述函数。
但是出现的问题是,当用户在 body onload 或 window onload 中调用 animateLine() 时,它不起作用(说 animateLine 未定义)。
我想知道这是实现这个的正确方法吗?另外,由于我也必须在 body/window onload 上调用它,因此如何从上面的代码中删除错误?
编辑:更新代码以在 DOM 就绪时调用函数,如果用户在 DOM 就绪时调用 animateLine,它仍然不起作用。有什么解决办法吗?