0

私のサイトにはボタンがあり、クリックすると、divコンテナ内にhtmlをロードする必要があります。

ボタンに次のコードを使用しています。

<div id="nextnr1"><a href = "#">Next&gt;&gt;</a></div>

誰かがdivをクリックしたときにロードを実行する次のコード:

<script type="text/javascript">
    $(document).ready(function() {
        $("#nextnr1").mousedown(function() {
            $("#Container").load("wrappers.php?currenttab=1&shift=1");
        });
    });​
</script>

これは、HTMLがロードされるコンテナのコー​​ドです。

<div id="Container"></div>

問題は、上記のすべてのコードがほとんどの時間機能していることです。たまに機能.loadが彼の仕事をしていない。これは、ほぼ同じページであるため、同様の状況に対応します。

クリックがあると関数が呼び出されたことを確認しました:$(document).readyそして$("#nextnr1").mousedown(function() {..}彼らの仕事をしています。サーバーにHTTPリクエストが送信されていないことを確認したため、その役割を果たしていないだけです.load

誰かがこの問題で私を助けることができれば、私は非常に感謝するでしょう。

更新1

メッセージボックス(以下のコードを参照)を試しましたが、ロードが実行されなかったときに、ロードが実行されたというメッセージボックスも表示されなかったことが示されています。また、2/3分後に突然メッセージボックスが表示され、リロードされたことがわかりました。ただし、機能しますが、大幅な遅延が発生する場合があります。

$(document).ready(function() {
   $("#renextnr2").click(function() {
      $("#Container").load("wrappers.php?currenttab=2&shift=1", function() {
           alert("Load was performed.");
      });
   });
});
4

5 に答える 5

0

まず、マウスダウンの代わりに「クリック」を使用してみてください。

次に、「クリック」イベントをdivではなくリンクにフックしてみます。

<div><a id="nextnr1" href = "#">Next&gt;&gt;</a></div>
于 2012-06-14T21:04:12.910 に答える
0

イベントの伝播/デフォルト処理を停止する必要がある場合があります。

<div><a id="nextnr1" href="#">Next&gt;&gt;</a></div>

<script type="text/javascript">

$(document).ready(function() {
$("#nextnr1").click(function(e) {
  e.preventDefault();
  e.stopPropagation();
  $("#Container").load("wrappers.php?currenttab=1&shift=1");
});});

</script>
于 2012-06-14T21:15:52.643 に答える
0

まず最初に、以下に示すように、イベントが発生しているかどうかをデバッグするためのアラートを追加します。これにより、問題を特定するためにどの領域を詳しく調べるべきかについて、より良い洞察が得られます。

$('#Container').load('wrappers.php?currenttab=1&shift=1', function() {
  alert('Load was performed.');
});
于 2012-06-14T21:16:46.923 に答える
0

問題を解決したURLの最後にランドン番号を追加しました。

于 2012-07-05T21:33:00.480 に答える
0

サーバー側のコード(PHP)に問題がある場合、jqueryのload()関数の動作に一貫性がなくなる可能性があります。

ローカルサイトでload()が機能しているのに、ホストで一貫して機能していないという問題がありました。ローカル環境では問題を引き起こさなかったが、ホストにデプロイしたときに問題を引き起こした、いくつかの悪いPHPを作成したことが判明しました。

URLに直接アクセスした場合、javascriptでロードしているURLがブラウザにロードできることを確認してください。これは、JavaScriptまたはサーバー側の問題であるかどうかを示します。

于 2020-03-24T17:07:23.403 に答える