In a commercial context you should also take a look at what yFiles for HTML has to offer.
It's a generic graph drawing and editing javascript library which solves your "drag and drop and connect" use-case easily. There is also a specific mind map example available online:
but in this application nodes are not created via drag and drop. This however of course is possible, too, as can be seen in this online demo.
The specific strengths of that library are automatic layout/arrangement of nodes and connections, so if you are creating larger networks or populating the graph automatically from an external data-source these come in very handy. However if you don't require this feature set, simpler solutions may work, too, of course. Note that d3 has the focus on viewing data, and is not so much about user interaction and creating graphs interactively.
Disclaimer: I work for the company that creates that library, however I do not represent my employer on SO. My comments are my own.