How to remove an appended element with Jquery and why bind or live is causing elements to repeat

后端 未结 5 1916
眼角桃花
眼角桃花 2020-12-30 05:20

Now I know this basic question has been asked before, but I must be doing something wrong. I know that an appended element must bound before I can do anything to it. However

5条回答
  •  借酒劲吻你
    2020-12-30 05:47

    If I understand your question correctly, I've made a fiddle that has this working correctly. This issue is with how you're assigning the event handlers and as others have said you have over riding event handlers. The current jQuery best practice is to use on() to register event handlers. Here's a link to the jQuery docs about on: link

    Your original solution was pretty close but the way you added the event handlers is a bit confusing. It's considered best practice to not add events to HTML elements. I recommend reading up on Unobstrusive JavaScript.

    Here's the JavaScript code. I added a counter variable so you can see that it is working correctly.

    $('#answer').on('click', function() {
      feedback('hey there');
    });
    
    var counter = 0;
    
    function feedback(message) {
    
      $('#feedback').remove();
    
      $('.answers').append('
    ' + message + ' ' + counter + '
    '); counter++; }

提交回复
热议问题