Метод JQuery .on фактически не обнаруживает новые элементы [дубликаты]

jQuery( document ).on( "click", "#starSort ", function( ) {

  jQuery( ".qa-voting-bookmark.active" ).closest( ".answer" )
  .prependTo( "#starbox" );

  jQuery("#starbox").append(jQuery(".qa-voting-bookmark.active")
  .closest( ".answer" ).get().reverse());
});

Приведенный выше код - это то, что у меня есть. он отлично работает до создания новых элементов. текущие элементы .answer воссоздаются другой функцией, которая обновляет данные.

я пытался просто пойти с.

    jQuery( "#starSort" ).on( "click", function( ) {});

но это не нравится. Хотя кнопка не вызывает беспокойства, она не становится динамической. Только эти элементы .answer.

редактировать ** Мой прослушиватель событий нацелен на все тело. Но когда я читаю о делегировании событий, все примеры касаются кнопки и динамического элемента, являющихся одним и тем же объектом. Я хочу нажать кнопку, которой нет в списке динамических объектов, и изменить динамические объекты.


person Stephen M. Yantz    schedule 01.10.2015    source источник
comment
Вам нужно прочитать о делегировании событий — если ваш элемент существует, когда вы связываете событие, то все в порядке. Если вы динамически добавляете элемент после того, как вы привязали событие, вам следует использовать делегирование события.   -  person Pete    schedule 01.10.2015
comment
разве это не то, что должно делать это событие .on?   -  person Stephen M. Yantz    schedule 01.10.2015
comment
Мой прослушиватель событий нацелен на все тело. Но когда я читаю о делегировании событий, все примеры касаются кнопки и динамического элемента, являющихся одним и тем же объектом. Я хочу нажать кнопку, которой нет в списке динамических объектов, и изменить динамические объекты.   -  person Stephen M. Yantz    schedule 01.10.2015