dynamically add listener to ajax created content in jQuery

后端 未结 6 1391
死守一世寂寞
死守一世寂寞 2021-01-06 10:02

I am trying to get the html value of a linked clicked. The links are created dynamically with Ajax so I don\'t think .bind will work and I don\'t have latest version with

6条回答
  •  灰色年华
    2021-01-06 10:23

    Here's an alternate approach that has not been mentioned:

    If you're using jQuery v1.7+ you can use the .on() method to bind an event listener to current HTML as well as HTML that is added in the future:

    $('#message a').on('click', function(){
        alert('link clicked!');
    });
    

    If you are using an older version of jQuery, it is recommended you use the .delegate() method instead:

    $('#message').delegate('a', 'click', function(){
        alert('link clicked!');
    });
    

    In summary:

    $(elements).delegate(selector, events, data, handler);  // jQuery 1.4.3+
    $(elements).on(events, selector, data, handler);        // jQuery 1.7+
    

提交回复
热议问题