2012-07-14 16 views

Respuesta

6

he encontrado la solución en la documentación (http://jsplumb.org/doc/usage.html)

jsPlumb.detachAllConnections("elementId"); 
11

Si usted tiene múltiples conexiones desde o hacia los elementos, separar todas las conexiones no es tal la mejor solución para eliminar una conexión. Hay una función (no está bien documentada) para separar exactamente una conexión:

jsPlumb.detach(connection, { 
    fireEvent: false, //fire a connection detached event? 
    forceDetach: false //override any beforeDetach listeners 
}) 

En mi ejemplo, quiero borrar una conexión cuando se hace clic en el conector:

jsPlumb.bind('click', function (connection, e) { 
    jsPlumb.detach(connection); 
}); 
0

Este código elimina todos " conexiones incorrectas en un juego que estoy desarrollando. espero que ayude

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); 
    } 
    } 
}); 
0

Hola se puede hacer referencia a lo siguiente: Detach connection jsPlumb

Este bloque de código permite separar conexión si se hace clic en una conexión:

jsPlumb.bind("click", function(conn) { 
    jsPlumb.detach(conn); 
}); 
2

Si div origen o la identificación de div de destino ya se conoce, entonces puede eliminar la conexión de esta manera:

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]); 
} 

También puede usar jsPlumb.getAllConnections() para obtener la matriz de todas las conexiones y probar el ID de fuente o ID de destino de cada conexión para obtener exactamente la conexión que necesita;

2

Después se eliminan todas las conexiones de punto final, desde y hacia el elemento, es necesario separarlo como se muestra en la tercera línea de

jsPlumb.detachAllConnections(divID); 
jsPlumb.removeAllEndpoints(divID); 
jsPlumb.detach(divID); 
divID.remove() 
+0

Funcionó para mí. Pero utilicé una instancia de jsPlumb en lugar de llamarla directamente: 'g_instance = jsPlumb.getInstance (...., Container:" diagrama de flujo-demo ")' y luego: 'g_instance.detachAllConnections (divID);' – matt

+0

Separar las conexiones deja todos los puntos finales en su lugar sin desorientar el resto del gráfico teniendo en cuenta su relatividad. Por lo tanto, siempre que se realice, la forma en que se toman las instancias no afectará realmente al resto del código. –

0
jsPlumb.deleteConnectionsForElement(elementId) 

obras. Aunque es viejo, me gustaría añadir que averiguar qué métodos tiene una biblioteca, siempre que sea lo suficientemente descriptivo es bastante fácil.

dev tools

2

Por alguna razón, separe no funcionan. Ni siquiera declarado en su biblioteca. Creo que olvidaron corregir sus documentos. Para eliminar una conexión, utilice el siguiente código:

jsPlumb.deleteConnection(con) 
Cuestiones relacionadas