Я создаю плагин WordPress A с кнопкой с идентификатором «convert-button» и функцией JS, как показано ниже:
$(‘#convert-button’).on(‘click’, function() {
Однако в плагине B также есть кнопка с идентификатором «convert-button», а также функция, показанная ниже:
$(‘#convert-button’).on(‘click’, function() {
Теперь проблема в том, что когда я нажимаю кнопку «конвертировать» в плагине A, будут вызываться обе функции onclick в двух плагинах. Как это предотвратить? Один из способов — переименовать идентификатор кнопки, но таких кнопок много, и переименование их всех требует много времени. Есть ли лучшее решение для такого случая?
Чтобы избежать проблемы, когда обе функции плагина вызываются при нажатии кнопки преобразования, вы можете использовать селекторы потомков в CSS.
Это позволяет вам нацеливаться на конкретную кнопку в контейнере каждого плагина. Вот пример:
Для плагина A, если ваш контейнер имеет идентификатор типа #plugin-a-container
:
$('#plugin-a-container #convert-button').on('click', function() {
Для плагина B, если ваш контейнер имеет идентификатор типа #plugin-b-container
:
$('#plugin-b-container #convert-button').on('click', function() {