jQuery : 如何在新构造的模式中启用 jQuery 代码到 运行

jQuery : How to enable jQuery code to run within freshly constructed Modal

下面有一个常用的Modal

 <div class="modal fade" id="OptionModal" >
      <div class="modal-dialog">
        <div class="modal-content text-center">
          <div>
            <button type="button" style="margin:10px 10px" class="close" data-dismiss="modal">&times;</button>
          </div>
          <div align="center"  class="text-center modal-header">
            <h2 align="center" style="font-weight:500;margin:auto" class="modal-title"></h2>
          </div>
          <div class="modal-body">
            <p align="center" class="modal-price"></p>
            <p align="center" class="modal-desc"></p>
            <p align="left" style="font-weight:800">Please Choose One from beneath</p>
            

            <table class="table table-striped table-hover">
              <thead align="center">
                <tr class="table-active">
                  <td>Option</td>
                  <td>Price</td>
                  <td>Add</td>
                </tr>
              </thead>
              <tbody align="center">
                
              </tbody>
            </table>
          </div>
        </div>
      </div>
    </div>

如您所见,它非常空。 通过以下代码将相关数据放入Modal激活前

$("#OptionModal").find(".modal-title").text(itemN);
          $("#OptionModal").find(".modal-desc").text(itemDesc);
          $("#OptionModal").find(".modal-price").text("from $"+itemP);

          // console.log(itemOpt.length);
          $("#OptionModal").find("tbody").empty();
          
          for(let i=0;i<itemOpt.length;i++){
            
            $("#OptionModal").find("tbody").append(
              `<tr><td>${itemOpt[i].option_name}</td><td>$${(Number(itemOpt[i].option_price)+Number(itemP)).toFixed(2)}</td>
                <td><button class="addcart2 btn btn-success" ><i class="fas fa-arrow-right" ></i></button></td></tr>`
            );
          }     

问题是 class="addcart2" 的按钮没有响应下面的 jQuery 代码。

$(".addcart2").click(function(){ 
          console.log("ok"); 

        });

所有 jQuery 代码都包含在 $(document).ready(); 我怀疑 Modal 具有独立于文档范围的范围。 请问有人能告诉我这是怎么回事吗?

此 jQuery 语法在文档准备好后无法识别附加元素。只需使用以下语法:

$(document).on('click', '.addcart2', function(){
  //do something amazing
});