canvasをjavascriptで追加する場合,サイズの指定に工夫が必要です。jQueryを使って,cssで下記のよな指定をしても,borderなどは指定どおりに描画されるのですが,サイズは上手く変更されていないようです。描画の際に座標が指定どおりになっていないようです。
$('#a_canvas').css('width', 400);'
そこで,下記のように書くと座標も変更されるようです。
var element = document.getElementById('a_canvas');
element.width = 400;
直接 DOM の操作をするような感じで書くと良いようです。
参考サイト