1

残りの部分をリロードせずに DIV をリロードしようとしています。これを含む多くのサイトで次のスクリプトを見つけましたが、これで見つかったすべてのバリエーションが機能していません。href に # を含めると、何もしません。削除するとページ全体がリロードされます

$(function() {
  $("#refresh").click(function(evt) {
     $("#scratcher-box").load("index.php")
  })
})

<a href="#" id="refresh">click</a>

私が実行している他のミニ スクリプトの多くを無効にしてみました。div の切り替え、ロードの遅延、およびカウントです。JQuery 1.7.2 ローダーとhttp://dl.dropbox.com/u/31213713/scratcher.jsを用意し、いくつかの変更を加えて含まれているリセット ボタンを壊しました。私のjscripsはお粗末なので、リセットを修正できない場合に備えてバックアップ計画を探しています。元のhttp://dl.dropbox.com/u/31213713/scratcher_orig.jsはこちらです

4

3 に答える 3

0

以下のコードを使用できます:preventDefaultを追加することにより、アンカータグのデフォルトのアクションを防ぐことができます

$(function() {
  $("#refresh").on('click', function(e) {
     e.preventDefault();
     $("#scratcher-box").load("index.php");
  });
});
于 2012-05-14T08:35:10.457 に答える
0

おそらく、デフォルトのリンク アクションを防止する必要があります。

$(function() {
  $("#refresh").click(function(evt) {
     evt.preventDefault();
     $("#scratcher-box").load("index.php")
  })
})

次に#scratcher-box、ページに要素があることを確認してください

于 2012-05-14T08:28:57.543 に答える
0

1 つは、href を実行したくないため、関数呼び出しで false を返したい場合です。関数内で false を返すと、クリックをラップしている要素のデフォルトの実行が無効になります (この場合は href を実行します)。

2 つ目: index.php を ID Scratcher-box の要素にロードしようとしていますが、これは存在しないように見えますか? そのような要素を作成するのを忘れたか、完全なコードを投稿していません。次のことを試してください。

<a href="#" id="refresh">click</a>
<div id="scratcher-box" />

<script type="text/javascript">
  $(function() {
    $("#refresh").click(function(evt) {
      $("#scratcher-box").load("index.php")
      return false;
    })
  })
</script>

問題を確認した後:ドロップボックスでファイルを使用して確認しました。問題はクリック イベントまたはそのイベントの呼び出し内に存在しません。問題は、scratcher.js ファイルの変更内にあります。

JavaScript 呼び出し内の「Scratcher」オブジェクトの数を 3 から 20 に変更しました。ただし、スクリプトが Scratcher4 の幅を取得しようとするとすぐに、192 行でエラーがスローされます。これは、ID Scratcher4 を持つキャンバス要素がないためです。

このエラーは、ドキュメントの読み込み時にスローされます。これにより、javascript は、そのエラーを修正してそれらのキャンバス要素を追加するのを待つ以外に何もできなくなります。

スクラッチャーを JavaScript オブジェクトに追加するだけでなく、HTML 内にキャンバス アイテムも作成します。これによりエラーが修正され、javascript が .click 呼び出しを実行できるようになります。

于 2012-05-14T08:31:22.083 に答える