ページが読み込まれた後に追加するボタンをクリックします

ゴンサロペレイラ

jsを使用してボタンを作成し、ユーザーが開いたときにhtmlに追加すると、注文に商品が追加され、同じ商品を削除するボタンが追加されます。問題が発生しているのはそのボタンです。ボタンのクラスはdeletePratoですが、ボタンを作成する前に.click()を読み取るため、希望どおりに反応しません。

$('#orderDiv').click(function() {
    $('#escondido').hide();
    $('#ordersDiv').show();
    for (var i = 0; i < order.length; i++) {
      if (order[i] == food[contador]['id']) {
        orderVerificacao = true;
        quantityTemp = $('#quantity'+order[i]).val();
        $('#quantity'+order[i]).val(++quantityTemp);
      }
    }
    if (!orderVerificacao) {
      order[contadorOrder] = food[contador]['id'];
      // This is here I add a new button
      $('#ordersDiv').append('<p class="deletePrato" value="'+food[contador]['id']+'">X</p>');
      console.log(order);
      contadorOrder++;
      // Here I call the function to read .click()
      deletar();
    }
    orderVerificacao = false;
  });

しかし、.click()を実行した後にボタンを追加したので、新しいボタンを作成するたびに.click()を再度読み取るように関数を作成しましたが、ボタンはそれでも反応せず、 .click()を読んでください。

// The function to read .click()
function deletar() {
    $('.deletePrato').click(function() {
      pratoDelete = $(this).val();
      for (var i = 0; i < order.length; i++) {
        if(order[i] == pratoDelete){
          var index = order.indexOf(i);
          if (index > -1) {
            order.splice(index, 1);
          }
          $('#quantity'+pratoDelete).remove();
          $('#escondido').show();
          $('#ordersDiv').hide();
        }
      }
    });
  }

<p><button>に変更し、属性onClick = "delete()"を作成しようとしましたが、ボタンが反応せずに続行しました。誰かが私を助ける方法を知っているなら、私は本当に感謝しています。

(編集)これが私のHTMLで、WebARアプリケーションです

<html lang="en">
  <head>
    <link rel="apple-touch-icon" href="./imagens/dimmersions_logo.png">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    <title>AR Food</title>
    <script src="https://hammerjs.github.io/dist/hammer.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
    <script src="https://raw.githack.com/jeromeetienne/AR.js/2.0.5/aframe/build/aframe-ar.js"></script>
    <script src="scripts/localforage.js" charset="utf-8"></script>
    <script src="scripts/lodash.js" charset="utf-8"></script>
    <script type="text/javascript">var resultado =<?php echo json_encode($resultado); ?>;</script>
    <script src="scripts/scriptIndex.js" charset="utf-8"></script>
    <link rel="stylesheet" type="text/css" href="./style.css">
  </head>
  <body id="body">
    <div id="mesaDiv">
      <p class="order">Table Number</p>
      <select class="formMesa" id="mesaId">
        <?php
          for ($i=1; $i <= $numMax; $i++) {
            echo "<option value='".$i."'>".$i."</option>";
          }
        ?>
      </select>
      <button type="button" class="myButton" id="start">Start</button>
    </div>
    <div class="deletePrato"></div>
    <div id="ordersDiv">
      <p class="close" id="closeOrders">X</p>
    </div>
    <div id="escondido" hidden="true">
      <div id="swiper"></div>
      <div id="orderDiv">
        <p class="order">Order</p>
      </div>
      <div id="tituloDiv">
        <p id="nameFood"></p>
      </div>
      <img id="loadingGif" alt="loadingGif" src="./imagens/load.gif">
      <div id="swipeDiv">
        <img id="swipeImg" alt="swipeImg" src="./imagens/swipe.png">
        <p id="swipe">Swipe for next dish</p>
      </div>
      <div id="ingredientesBar">
        <p id="seta">↑</p>
        <p id="ingredientesSwipe">Ingredients</p>
      </div>
      <div id="ingredientsDiv" hidden="true">
        <p class="close" id="closeIngredientes">X</p>
        <ul style="padding: 1em 3em" id="ulIngredientes">
        </ul>
      </div>
    </div>
    <div id="markerInicial">
      <img id="markerOpacidade" alt="markerOpacidade" src="./imagens/pattern-restaurant-menu.png">
      <p id="markerTitulo">Please point to the marker</p>
    </div>
    <a-scene arjs='trackingMethod: best; sourceWidth:1280; sourceHeight:960; debugUIEnabled:false' embedded vr-mode-ui="enabled: false">
      <a-assets id="assets">
      </a-assets>
      <a-marker detect-marker id="marker" preset='custom' type='pattern' url='./markers/pattern-restaurant-menu.patt' smooth="true">
      </a-marker>
      <a-entity camera></a-entity>
    </a-scene>
  </body>
</html>
常に助けます

のクリックイベントをリッスンするevent Delegationように使用する必要がありますを使用してDOMdynamically appended element.on

また、値を取得するには、クリックしたアイテムの値を取得pするために使用attrする必要があります。

各行にもコメントを追加しました。クリック機能を以下のように変更すると、正常に機能するはずです。

参考までに-関数も必要ありませんdeletarそれを持っているかどうかはそれまでです。Event delegationクリックすると.deletePratoが呼び出され、必要なアイテムが削除されます

以下のスニペットを実行します。

//The function to read .click()
function deletar() {
  //Change your to click to this below.
  $(document).on('click', '.deletePrato', function() {
    //Get the p value like this
    var pratoDelete = $(this).attr('value');
    console.log(pratoDelete)
  });
}

deletar()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<p class="deletePrato" value="1">Click Me 1 </p>

<p class="deletePrato" value="2">Click Me 2</p>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

4つのドロップダウンがあり、ページが読み込まれたときに非表示にしたいのですが、[追加]ボタンをクリックすると、1つのドロップダウンが表示されます。

分類Dev

ページが読み込まれた後にのみjQueryクリックを実行する

分類Dev

特定の時間クリックした後にページが読み込まれないようにする

分類Dev

ページにリダイレクトするボタンをクリックしたときにページが読み込まれるのを待たないようにするにはどうすればよいですか?java

分類Dev

ページが完全に読み込まれたことを確認した後のjavascriptクリックボタン

分類Dev

ページの読み込み時にHTMLボタン/リンクをクリックします

分類Dev

ページが読み込まれるたびにJsスクリプトボットを実行する

分類Dev

djangoは、ページがクリックされるたびに変数を再読み込みします

分類Dev

ページの読み込み時に自動的にラジオボタンをクリックします

分類Dev

TestCafe-リンクをクリックした後、ページが読み込まれるのを待ちます

分類Dev

jquery:ボタンをクリックするとページを更新/再読み込みします

分類Dev

jQueryを使用して非表示/表示ボタンをクリックするとページが再読み込みされます

分類Dev

ASP.NET:ページが読み込まれる前にボタンのクリックイベントをトリガーする方法

分類Dev

ReactJs検索ボタンは、フェッチが画像リンクを取得して表示する前にページを再読み込みします

分類Dev

ページの読み込み時とボタンのクリック時に定義された関数を実行します

分類Dev

リンクをクリックするとページが読み込まれ、機能しません

分類Dev

ページを再読み込み/再配置せずにボタンをクリックしたときにURLに値を追加する方法

分類Dev

javascriptでボタンがクリックされたときにパス名を含むページを読み込んでいます

分類Dev

ボタンのクリックでページが読み込まれませんが、MVCのjqGridのリンクボタンで機能します

分類Dev

反応:ボタンonClick関数はページの読み込み時に実行されていますが、クリックしていません

分類Dev

ターゲットページが完全に読み込まれたときにリダイレクトする

分類Dev

ページに読み込まれる要素にクラスを追加します

分類Dev

ボタン付きのjqueryアラートをクリックすると、別のページが読み込まれます

分類Dev

チェックボックスをオンにすると、JavaScriptの読み込みを使用してページ付けが行われます。

分類Dev

ボタンをクリックして数秒後に読み込まれるログインページのテキストを比較するにはどうすればよいですか?

分類Dev

ページの読み込みを自動からボタンがクリックされたときに変更する

分類Dev

キャッシュをクリアした後、古いバージョンのページが読み込まれます

分類Dev

[ログイン] ボタンを複数回クリックすると、ボタンがクリックされた回数と同じ回数、別のページが読み込まれます。これを防ぐにはどうすればよいですか?

分類Dev

リセットボタンをクリックした後、データが追加されないデータを追加するためにページを再度リロードしています

Related 関連記事

  1. 1

    4つのドロップダウンがあり、ページが読み込まれたときに非表示にしたいのですが、[追加]ボタンをクリックすると、1つのドロップダウンが表示されます。

  2. 2

    ページが読み込まれた後にのみjQueryクリックを実行する

  3. 3

    特定の時間クリックした後にページが読み込まれないようにする

  4. 4

    ページにリダイレクトするボタンをクリックしたときにページが読み込まれるのを待たないようにするにはどうすればよいですか?java

  5. 5

    ページが完全に読み込まれたことを確認した後のjavascriptクリックボタン

  6. 6

    ページの読み込み時にHTMLボタン/リンクをクリックします

  7. 7

    ページが読み込まれるたびにJsスクリプトボットを実行する

  8. 8

    djangoは、ページがクリックされるたびに変数を再読み込みします

  9. 9

    ページの読み込み時に自動的にラジオボタンをクリックします

  10. 10

    TestCafe-リンクをクリックした後、ページが読み込まれるのを待ちます

  11. 11

    jquery:ボタンをクリックするとページを更新/再読み込みします

  12. 12

    jQueryを使用して非表示/表示ボタンをクリックするとページが再読み込みされます

  13. 13

    ASP.NET:ページが読み込まれる前にボタンのクリックイベントをトリガーする方法

  14. 14

    ReactJs検索ボタンは、フェッチが画像リンクを取得して表示する前にページを再読み込みします

  15. 15

    ページの読み込み時とボタンのクリック時に定義された関数を実行します

  16. 16

    リンクをクリックするとページが読み込まれ、機能しません

  17. 17

    ページを再読み込み/再配置せずにボタンをクリックしたときにURLに値を追加する方法

  18. 18

    javascriptでボタンがクリックされたときにパス名を含むページを読み込んでいます

  19. 19

    ボタンのクリックでページが読み込まれませんが、MVCのjqGridのリンクボタンで機能します

  20. 20

    反応:ボタンonClick関数はページの読み込み時に実行されていますが、クリックしていません

  21. 21

    ターゲットページが完全に読み込まれたときにリダイレクトする

  22. 22

    ページに読み込まれる要素にクラスを追加します

  23. 23

    ボタン付きのjqueryアラートをクリックすると、別のページが読み込まれます

  24. 24

    チェックボックスをオンにすると、JavaScriptの読み込みを使用してページ付けが行われます。

  25. 25

    ボタンをクリックして数秒後に読み込まれるログインページのテキストを比較するにはどうすればよいですか?

  26. 26

    ページの読み込みを自動からボタンがクリックされたときに変更する

  27. 27

    キャッシュをクリアした後、古いバージョンのページが読み込まれます

  28. 28

    [ログイン] ボタンを複数回クリックすると、ボタンがクリックされた回数と同じ回数、別のページが読み込まれます。これを防ぐにはどうすればよいですか?

  29. 29

    リセットボタンをクリックした後、データが追加されないデータを追加するためにページを再度リロードしています

ホットタグ

アーカイブ