0

私の関数はフォームの onSubmit を起動し、他の 2 つの関数を呼び出しますが、ページを更新したくありません。

$('form').submit(function(){

        functionA()
        functionB();
        return false;
});

function functionB(){

    var image = new Image();
        var canvas = document.getElementById("flag");
        var context = canvas.getContext("2d");
    image = context.getImageData(); 

    alert('remove');
}

これは、functionA のみを呼び出し、functionB が空の場合に正常に機能するため、問題は functionB にあるに違いないと思いますか?

編集。

私のキャンバスは、次のように別の HTML ファイルで定義されています。

    <canvas id="flag"></canvas>

コンソールには Uncaught Error: NotSupportedError: DOM Exception 9 と表示されます

4

1 に答える 1

1

getImageDatacontextを使用して取得するオブジェクトのメソッドですgetContext()。canvas 要素には、直接そのようなメソッドはありません。

var canvas = document.getElementById('flag');
var context = canvas.getContext('2d');

image = context.getImageData();

getImageDataまた、パラメーターなしで使用されていることも見たことがなく、これがサポートされていることが文書化されていません。通常、指定する 4 つのパラメーターを渡しますx, y, width, heighthttps://developer.mozilla.org/en-US/docs/HTML/Canvas/Pixel_manipulation_with_canvasを参照してください

于 2013-06-02T13:17:22.930 に答える