2016-06-07 13 views
0

Ich entwickle eine Canvas-Anwendung, auf der ein Benutzer verschiedene Formen zeichnen kann. Verschiedene Elemente werden mit d3.js gezeichnet. Ich möchte jsplumb verwenden, um zwei SVG-Elemente zu verbinden, für die ich die ID jedes Elements benötige, wenn darauf geklickt wird. Jedes Element hat eine ID, die beim Zeichnen von Code generiert wird und ich kenne es daher vorher nicht.So erhalten Sie ID eines Elements, wenn Sie darauf klicken - JavaScript

Gibt es eine Javascript-Implementierung, mit der ich die ID der Elemente erhalten kann, auf die ich klicke? Ich möchte nicht unbedingt "" für jedes Element hinzufügen, das auf der Leinwand gezeichnet wird.

Kann jemand einen Weg vorschlagen, dies zu tun?

+0

Bitte jsfiddle laden für Menschen – wot

+0

zu bearbeiten Sind Sie sicher, dass Sie Brauchen Sie die IDs? Kannst du nicht einfach die Elemente selbst benutzen? – Barmar

Antwort

2

Sie können so etwas wie diese

<script type='text/javascript'> 
    doClick = function (sender){ 
    alert(sender.id); 
} 
</script> 

<div id='a1' onclick='doClick(this)'>div1</div> 
<div id='a2' onclick='doClick(this)'>div2</div> 

https://jsfiddle.net/dy47dbvp/3/

0

verwenden Sie einfach ein Element ID zugreifen können dieses Element Attribut mit

var elemID = droppedElement.attr('id'); 

Um die ID des angeklickten Elemente zu erhalten:

$('#container').on('click', '.droppedElement', function (e) { 
     var elemID = droppedElement.attr('id'); 
} 

Der Behälter ist Ihre Leinwand-ID und die droppedElement ist die Variable, die das svg Element oder den Klon des svg Element erfasst (wenn das der Fall ist)