2011-10-08 5 views
1

J'ai un canevas SVG et quand je double-clique dessus, je crée un nouvel élément SVG à l'intérieur. Comment faire pour créer un événement click pour ces nouveaux éléments créés en temps réel par l'identifiant du nouvel élément.Comment ajouter des événements jQuery à de nouveaux éléments?

Ces éléments seront un mot que j'informerai.

Les éléments sont créés par une API externe (Graph Dracula), donc ne peuvent pas le modifier. Exemple: J'ajoute un nouvel élément appelé "Renato", donc l'identifiant de l'élément sera "Renato". .

+1

Si ces éléments SVG partagent un gestionnaire de clic commun, considèrent la délégation de l'événement. –

Répondre

2

On dirait que vous devriez juste être capable de se lier à l'aide de quelque chose comme:

$ ("# ...") cliquez sur (function() {...});

Fondamentalement, c'est comme d'habitude. Vous avez juste besoin d'une référence et vous pouvez utiliser jQuery pour lier quelque chose dessus. Si vous le créez, vous avez évidemment une référence à cela, alors vous pouvez le faire à ce stade. Edit: il suffit de lire qu'ils sont créés par une API externe. Cependant, si vous connaissez l'identifiant, vous pouvez toujours utiliser $ ("# idhere").

2

Vous souhaitez utiliser la fonction live dans jQuery. Il peut lier des événements à des éléments créés dynamiquement après le chargement du DOM.

$("#Renato").live("click", function(){...}); 

Ou dans les versions ultérieures de jQuery

$('#some_non_dynamic_parent').on('click', '#Renato', function(){}); 
Questions connexes