Показать сообщение отдельно
  #4 (permalink)  
Старый 08.08.2016, 22:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от jqRM
не очень понятно что значит делегировать обработку ближайшему родителю
Как может быть добавление к примеру этого обработчика $('.edit').focus... элементам, если они добавляются на страницу динамически? Никак.
Значит нужно делегировать обработку этого события родителю, если эти элементы добавляются в body, то ему. Но судя по коду, добавление происходит в cur_td, то есть он всегда есть на странице, а значит делегировать ему. Это возможно потому, что события всплывают (хотя и не все). То есть:

$('#cur_td').on('keypress', '.edit', function(e){....


Или непосредственно при добавлении элементов на страницу:

$("<div class='edit n_edit' data-id='" + res + "' data-cell='grp' contenteditable='true'>" + grp + "</div><div class='inline'><div class='edit' data-id='' data-cell='exercise' contenteditable='true'>" + exercise + "</div> /<div class='edit' data-id='' data-cell='subject' contenteditable='true'>"  + subject +  "</div></div><div class='edit' data-id='' data-cell='place' contenteditable='true'>" + place + "</div>").appendTo('#cur_td').find('.edit').on(событие, обработчик).... ну и т.д.

Последний раз редактировалось laimas, 08.08.2016 в 22:11.
Ответить с цитированием