Jquery - добавить одно событие для нескольких таблиц - PullRequest
1 голос
/ 30 сентября 2019

У меня есть сценарий, который я должен связать одно и то же событие для нескольких таблиц.

Событие на таблице :

 $('#table id').on("dblclick", 'td', async function () {
    console.log(event fired); });

Таблица tr создается динамически.

Как и выше, мне нужно связать одно и то же событие для 10 таблиц.

Option1 : Могу ли я динамически передать table id

$('#' +tableNameString).on("dblclick", 'td', async function () {};

Возможно ли это?

опция 2 : addEventListener() ??

Какой вариант является оптимальным?

Поделитесь мне примером того, как это реализовать. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 30 сентября 2019

Вы можете назначить класс всем своим таблицам в формате html, например.

<table class="custTable">
</table>

И в своем JS добавить прослушиватель событий для этого класса, например.

$('.custTable').on("dblclick", 'td', async function () { console.log(event fired); });

РЕДАКТИРОВАТЬ:

Если ваши таблицы создаются динамически, проверьте элемент таблицы, чтобы увидеть, есть ли определенный класс, назначенный им, к которому вы можете привязать прослушиватель событий.

0 голосов
/ 30 сентября 2019

Попробуйте добавить несколько селекторов, разделенных запятыми:

$("#elementOne, #elementTwo").on("dblclick", 'td', async function () {
  //do something
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...