首页 > 解决方案 > jQuery 与附加数据交互

问题描述

谁能指出我在这里做错了什么?我正在尝试与数据交互(使用 ajax 附加)

如果元素已经在 DOM 中,则会触发警报,但在附加它时不会触发。

我使用“.on”错了吗?

$(function() {

  $('.card').on('click','.add-exercise', function() {
    alert('clicked');
  });

  // Detect 'enter' key up
  $('#search').on('keyup', function(e){
    if(e.keyCode == 13)
    {
      console.log('hit enter key');
      $(this).trigger("enterKey");
    }
  });

  $('#search').on("enterKey",function(e){

    $.ajax({
      url: '{{ url("exercises/load") }}',
      method: "POST",
      data: {
        _token: "{{csrf_token()}}",
        search: $('#search').val(),
      },
      dataType: "text",
      success: function(data) {
        console.log(data);
        $('.exercise-result').remove();
        $('.card-deck').append(data);
      }
    });

  });

});

标签: javascriptjquery

解决方案


我猜你.carddata.

click您必须再次为他们分配事件。该事件当前仅分配给您的第一个.card元素。这就是为什么它不会触发您的新.card元素。


推荐阅读