Sto giocando con jsplumb, ma non sono in grado di eliminare la connessione tra due div con solo l'ID di un div.Come eliminare la connessione jsPlumb
risposta
Ho trovato la soluzione nella documentazione (http://jsplumb.org/doc/usage.html)
jsPlumb.detachAllConnections("elementId");
Se hai più connessioni da o verso elementi, staccando tutti i collegamenti non è forse la migliore soluzione per eliminare una connessione. C'è una funzione (non ben documentato) per staccare esattamente un collegamento:
jsPlumb.detach(connection, {
fireEvent: false, //fire a connection detached event?
forceDetach: false //override any beforeDetach listeners
})
Nel mio esempio, voglio eliminare una connessione quando il connettore viene cliccato:
jsPlumb.bind('click', function (connection, e) {
jsPlumb.detach(connection);
});
Questo codice rimuove tutto " "errate" connessioni in un gioco che sto sviluppando. Spero che aiuta
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 è possibile fare riferimento a questo: Detach connection jsPlumb
Questo blocco di codice consente di staccare il collegamento se una connessione è stato cliccato:
jsPlumb.bind("click", function(conn) {
jsPlumb.detach(conn);
});
Se la sorgente div o ID div di destinazione è già noto, quindi è possibile eliminare la connessione in questo modo:
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]);
}
È inoltre possibile utilizzare jsPlumb.getAllConnections() per ottenere l'array di tutte le connessioni e testare ogni id di sourceId o targetId della connessione per ottenere esattamente la connessione necessaria;
Dopo tutte le connessioni endpoint, da e per l'elemento vengono eliminate, è necessario staccarlo come mostrato nella terza linea di
jsPlumb.detachAllConnections(divID);
jsPlumb.removeAllEndpoints(divID);
jsPlumb.detach(divID);
divID.remove()
jsPlumb.deleteConnectionsForElement(elementId)
opere. Anche se è vecchio vorrei aggiungere che scoprire quali metodi ha una libreria, a patto che sia abbastanza descrittivo è abbastanza facile.
Per qualche ragione, staccare non funzionano. Neanche dichiarato nella loro biblioteca. Penso che abbiano dimenticato di correggere i loro documenti. Per eliminare una connessione utilizzare il seguente codice:
jsPlumb.deleteConnection(con)
- 1. Impossibile creare una connessione lineare in JSPlumb
- 2. Come effettuare una connessione multipla dall'endpoint di origine in jsplumb
- 3. JSplumb double bonds
- 4. Come connettere le immersioni trascinabili con jsPlumb?
- 5. Chiudere(), ma non eliminare() Connessione SQL - effetti
- 6. Come riutilizzare la connessione FtpWebRequest
- 7. Utilizzo di AngularJS e jsPlumb (utilizzare le funzioni jsPlumb nel controller AngularJS)
- 8. Come aggiornare una connessione Entity Framework senza eliminare il contesto
- 9. Come eliminare la scena THREE.JS
- 10. FirebaseStorage: Come eliminare la directory
- 11. Smaltire la connessione o Chiudere la connessione
- 12. Come verificare la connessione FTP?
- 13. Come riconnettere la connessione redis?
- 14. Come eliminare tutta la tabella in MySQL?
- 15. wix - come eliminare la cartella non vuota
- 16. Come posso eliminare la dichiarazione di Switch?
- 17. Come eliminare usando solo la chiave primaria?
- 18. Come eliminare la pagina vuota in mPdf
- 19. jQuery Datatables: come eliminare la riga
- 20. Linux: come eliminare i programmi che utilizzano la porta 1935?
- 21. Varnish cache - Come eliminare/eliminare la cache solo per la Home page
- 22. TypeError: Impossibile eliminare la proprietà
- 23. Salvare e caricare un diagramma di flusso su jsPlumb
- 24. Eliminare la visualizzazione se esistente
- 25. Impossibile eliminare la raccolta: [NHibernate.Exceptions.GenericADOException]
- 26. come eliminare la chiave di cache usando la corrispondenza parziale
- 27. Come eliminare la procedura o la funzione dal Pacchetto
- 28. Come utilizzare la connessione persistente di PDO?
- 29. Come chiudere la connessione Boto S3?
- 30. come restituire la connessione al pool
lavorato per me. Ma ho usato un'istanza di jsPlumb invece di chiamarla direttamente: 'g_instance = jsPlumb.getInstance (...., Contenitore:" flowchart-demo ")' e quindi: 'g_instance.detachAllConnections (divID);' – matt
Il distacco delle connessioni lascia tutti gli Endpoint in posizione senza disorientare il resto del grafico considerando la sua relatività. Quindi, finché viene eseguito, il modo in cui vengono prese le istanze non influisce sul resto del codice. –