#jquery #events #svg
#jquery #Мероприятия #svg
Вопрос:
У меня есть SVG-холст, и когда я дважды щелкаю по нему, я создаю внутри него новый SVG-элемент.
Как я могу создать событие щелчка для этих новых элементов, созданных в режиме реального времени по идентификатору нового элемента.
Идентификаторы этих элементов будут словом, которое я сообщаю.
Элементы создаются внешним API (Graph Dracula), поэтому не могут его изменить.
Пример: я добавляю новый элемент с именем «Renato», поэтому идентификатор элемента будет «Renato».
Комментарии:
1. Если эти элементы SVG используют общий обработчик кликов, рассмотрите возможность делегирования событий.
Ответ №1:
Похоже, вы должны просто иметь возможность привязать его, используя что-то вроде:
$(«# …»).click(функция() { … });
В принципе, это как обычно. Вам просто нужна какая-то ссылка на него, и вы можете использовать jQuery для привязки чего-либо к нему. Если вы создаете его, у вас, очевидно, есть ссылка на него, поэтому вы можете сделать это на этом шаге.
Редактировать: просто прочитайте, что они создаются внешним API. Однако, если вы знаете идентификатор, вы всегда можете просто использовать $(«#idhere»).
Ответ №2:
Вы хотели бы использовать функцию live в jQuery. Он может привязывать события к динамически создаваемым элементам после загрузки DOM.
$("#Renato").live("click", function(){...});
Или в более поздних версиях jQuery
$('#some_non_dynamic_parent').on('click', '#Renato', function(){});