1

そのため、現在キャンバス上に画像があり、画像をクリックするとページをリロードしたいと思います。問題は、クリックイベントが開始されたときではなく、「実行」関数が呼び出された直後にページがリロードされることです。ここに少しのコードがあります。

function Go()
{
    myimage = new Image();
    myimage.src = "http://i.imgur.com/xcLDp.gif";

    ctx.drawImage(myimage, 294, 100);

    myimage.onClick = window.location.reload();
}

些細なことを見逃しているような気がします。助けていただければ幸いです。

ありがとう。

よろしく、

マット

編集:Derekに追加されました。

ちょっとデレク私は本当に助けに感謝します。私はコーディングにかなり慣れていないので、少しの間あなたと一緒に本当の初心者になるつもりです。だから私はあなたが私のテストウェブサイトで私に見せたデモコードを ここに実装しようとしていますが、私が返すエラーは「Uncaught ReferenceError:$isnotdefined」です。

今私が知っているのは、「$」がjQueryシンボルであるということです。今では、コーディング/ javascript全般にかなり慣れていないので、javascriptライブラリ(jQuery)にどれほど慣れているか想像してみてください。

jQueryをダウンロードして同じディレクトリに配置し、次の行をhtmlに追加しました。

<script src="jquery-1.7.2.js" type="text/javascript"></script>

私は何か間違ったことをしていますか?jqueryライブラリで取得されないのはなぜですか?

4

3 に答える 3

3

reloadですぐに電話したからです()

myimage.onClick = window.location.reload;

編集: そして、画像に対してクリックイベントを発生させることはできません。次のような既存のdom要素にバインドする必要があります。

myimage.onload = function(){
  document.querySelector("canvas").addEventListener("click", window.location.reload);
};
于 2012-05-30T02:57:45.177 に答える
3

「リロード」は実際には幻想です。あなたがするとき

myimage.onClick = window.location.reload();

それreload()はすぐに実行されます。

あなたが本当に意図したことは次のとおりです。

myimage.onClick = window.location.reload;

しかし、なぜそれは幻想なのでしょうか?DOMのどこにもないので、画像をクリックすることすらできないからです。画像はあなたの<canvas>中にあるので、次のようになります。

document.querySelector("canvas").addEventListener("click",function(){
    location.reload();
});

また、ポインタが画像の上にあるかどうかを計算する必要があります。デモを参照してください。

デモ:http: //jsfiddle.net/DerekL/QuAVc/

于 2012-05-30T03:00:31.187 に答える
0

はい、何かを見逃していることを確認してください。window.location.reloadをコールバックとして渡す必要があります(括弧を入れないでください)。これを試してください。

function Go() {
  myimage = new Image();
  myimage.src = "http://joinmissinglink.com/wp-content/uploads/2012/01/go-button5.jpg";

  ctx.drawImage(myimage, 294, 100);

  myimage.onClick = window.location.reload; //window.location.reload is a callback
}
于 2012-05-30T03:01:17.090 に答える