Gram z jsplumb, ale nie jestem w stanie usunąć połączenia między dwoma elementami div mającymi tylko id jednego div.Jak usunąć połączenie jsPlumb
Odpowiedz
znalazłem rozwiązanie w dokumentacji (http://jsplumb.org/doc/usage.html)
jsPlumb.detachAllConnections("elementId");
Jeśli masz wiele połączeń z lub do elementów, odłączając wszystkie połączenia nie może najlepsze rozwiązanie, aby usunąć połączenie. Jest tam (nie jest dobrze udokumentowane) funkcja odłączyć dokładnie jedno połączenie:
jsPlumb.detach(connection, {
fireEvent: false, //fire a connection detached event?
forceDetach: false //override any beforeDetach listeners
})
W moim przykładzie chcę usunąć połączenia, gdy złącze kliknięciu:
jsPlumb.bind('click', function (connection, e) {
jsPlumb.detach(connection);
});
Ten kod usuwa wszystkie " złe "połączenia w grze, którą rozwijam. Mam nadzieję, że to pomaga
var wrong_connections = new Array(DB_ID, ANOTHER_DB_ID);
var connections = jsPlumb.getConnections();
$.each(connections, function(index, value) { // going through all connections
var source_id = value.source.attr('id').substring(28); // I need the ID from DB so I`m getting it from the source element
for (var a = 0; a < wrong_connections.length; a++) {
if (source_id == wrong_connections[a]) {
jsPlumb.detach(value);
}
}
});
Hi można odnieść do tego: Detach connection jsPlumb
Ten fragment kodu pozwala odłączyć połączenia, jeśli połączenie zostało kliknięte:
jsPlumb.bind("click", function(conn) {
jsPlumb.detach(conn);
});
Jeśli źródło div lub docelowy identyfikator div jest już znany, możesz usunąć połączenie w następujący sposób:
var conn = jsPlumb.getConnections({
//only one of source and target is needed, better if both setted
source: sourceId,
target: targetId
});
if (conn[0]) {
jsPlumb.detach(conn[0]);
}
Możesz również użyć jsPlumb.getAllConnections(), aby uzyskać tablicę wszystkich połączeń i przetestować każdy identyfikator źródła lub celI każdego połączenia, aby uzyskać dokładnie to, czego potrzebujesz;
Po wszystkich punktów końcowych połączenia do iz elementu zostaną usunięte, trzeba go odłączyć, jak pokazano w 3 linii
jsPlumb.detachAllConnections(divID);
jsPlumb.removeAllEndpoints(divID);
jsPlumb.detach(divID);
divID.remove()
jsPlumb.deleteConnectionsForElement(elementId)
robót. Choć jest stary, chciałbym dodać, że ustalenie, jakie metody ma biblioteka, pod warunkiem, że jest wystarczająco czytelne, jest dość łatwe.
Z jakiegoś powodu, odczepić nie działają. Nawet nie zgłoszono ich w bibliotece. Myślę, że zapomnieli poprawić swoje dokumenty. Aby usunąć połączenie, użyj następującego kodu:
jsPlumb.deleteConnection(con)
- 1. Jak powiększać diagram jsPlumb
- 2. JSplumb podwójne obligacje
- 3. Używanie AngularJS i jsPlumb (użyj funkcji jsPlumb w sterowniku AngularJS)
- 4. jsPlumb - dynamiczne punkty końcowe z każdej strony
- 5. Jak usunąć wewnętrzne połączenie tabeli z inną tabelą w Sqlite?
- 6. nie można używać jsplumb z drugiej funkcji
- 7. Jak podłączyć przeciągane elementy div za pomocą jsPlumb?
- 8. Nie można utworzyć połączenia w linii prostej w JSPlumb
- 9. połączenie mongodb połączenie
- 10. Jak wyciszyć połączenie przychodzące
- 11. Jak odłączyć połączenie Git?
- 12. Jak zweryfikować połączenie sqlplus?
- 13. io.on ("połączenie", ...) kontra io.sockets.on ("połączenie", ...)
- 14. Usuń połączenie lub Zamknij połączenie
- 15. RESTful połączenie i podział zasobów
- 16. Jak skutecznie zamknąć połączenie SerialPort?
- 17. C# - Jak wykonać połączenie HTTP
- 18. Jak programowo wykonać połączenie telefoniczne?
- 19. Jak zamknąć połączenie Boto S3?
- 20. Jak sprawdzić lokalnie połączenie socket.io?
- 21. Jak narysować połączenie w Dia?
- 22. Jak usunąć/usunąć push z Bitbucket?
- 23. Jak usunąć/usunąć linki dynamiczne w firebase?
- 24. Jak usunąć/usunąć aplikację z projektu Firebase?
- 25. Połączenie połączeń a połączenie trwałe mysqli
- 26. Jak usunąć żądanie scalenia z serwera GitLab
- 27. Połączenie asynchroniczne StackExchange.Redis zawiesza się
- 28. Jak usunąć^M
- 29. Jak usunąć element dom?
- 30. Jak usunąć ostatni przecinek?
Pracowałem dla mnie. Ale użyłem instancji jsPlumb zamiast nazywając ją wprost: 'g_instance = jsPlumb.getInstance (...., kontener "flowchart-demo")' a następnie: 'g_instance.detachAllConnections (divId);' – matt
Odłączenie połączeń pozostawia wszystkie punkty końcowe w miejscu bez dezorientowania reszty wykresu, biorąc pod uwagę jego względność. Tak długo, jak jest wykonywany, sposób, w jaki są pobierane instancje, tak naprawdę nie wpłynie na resztę kodu. –