грамотно привязать делегированный обработчик к таблице?
всем привет снова.
аяксом получаю и вставляю на страницу таблички (у них класс .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, время: 23:14. |