грамотно привязать делегированный обработчик к таблице?
всем привет снова.
аяксом получаю и вставляю на страницу таблички (у них класс .base-table). в этих табличках при нажатии клике строка выделяется. сейчас обработчик выглядит вот так:
$("body").on(h_click, ".base-table tbody tr", function(event) { ... }
если я верно понимаю, боди постоянно ждет появления tr с предком tbody у которого предок с классом base-table и навешивает клик. сделать
$(".base-table").on(h_click, "tbody tr", function(event) { ... }
не могу, тк таблички появляются динамически.нужно что-то вроде
$("body").on(h_click, ".base-table", function(event) {
// а вот здесь отловить грамотно строку tbody tr, на которой кликнули.
... }
вопрос: верным ли путем я это хочу оптимизировать, и как грамотно отловить tbody tr? спасибо! |
Цитата:
|
это я понимаю, но сейчас не могу изменить структуру настолько, что после аякса устанавливать обработчик.
|
$("body").on(h_click, ".base-table tr", function() {
this это tr
... }
|
я понимаю про this,
просил только как лучше всего при клике на .base-table (и this будет таблица) отловить tr на котором был клик. абы как файндами и парентами реализовано, хотел решения на уровне отлова свойств объекта target или подобного |
А зачем через target, если указано делегирование обработки TR, JQ сразу его сразу и вернет, и это будет this, иначе зачем тогда вообще подключать JQ.
|
нет, это что-то с чем-то...
из первого сообщения: нужно что-то вроде $("body").on(h_click, ".base-table", function(event) { // а вот здесь отловить грамотно строку tbody tr, на которой кликнули. // УТОЧНЕНИЕ: отловить tr на котором был клик. абы как файндами и парентами реализовано, хотел решения на уровне отлова свойств объекта target или подобного - в event или this ... } |
А какая хрен разница либо сразу function() ... this, это и есть строка по которой щелкнули, или же function(event) ... event.target?
|
| Часовой пояс GMT +3, время: 04:06. |