jQuery “on create” event for dynamically-created elements

You can on the DOMNodeInserted event to get an event for when it’s added to the document by your code.

$('body').on('DOMNodeInserted', 'select', function () {
      //$(this).combobox();
});

$('<select>').appendTo('body');
$('<select>').appendTo('body');

Fiddled here: http://jsfiddle.net/Codesleuth/qLAB2/3/

EDIT: after reading around I just need to double check DOMNodeInserted won’t cause problems across browsers. This question from 2010 suggests IE doesn’t support the event, so test it if you can.

See here: https://stackoverflow.com/questions/15268661/jquery-on-create-event-for-dynamically-created-elements Warning! the DOMNodeInserted event type is defined in this specification for reference and completeness, but this specification deprecates the use of this event type.

Leave a Comment