elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  jsPlumb error al hacer los elementos movibles
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: jsPlumb error al hacer los elementos movibles  (Leído 2,237 veces)
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
jsPlumb error al hacer los elementos movibles
« en: 17 Diciembre 2013, 23:58 pm »

Hola estoy utilizando jsplumbtoolkit.com con jquery para conectar elementos, el problema que tengo ahora es que no puedo hacer que los elementos sean movibles o no a travez de un boton.

Código
  1. <!doctype html>
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <html xmlns='http://www.w3.org/1999/xhtml' xmlns:v="urn:schemas-microsoft-com:vml">
  4. <head>
  5. <script src="js/jquery-1.9.0-min.js"></script>
  6. <script src="js/jquery-ui-1.9.2-min.js"></script>
  7. <!-- <script src="js/jquery.ui.touch-punch.min.js"></script> -->
  8. <script src="js/jquery.jsPlumb-1.5.4-min.js"></script>
  9. <script type="text/javascript">
  10. //$(document).ready(function() {
  11. //var elem = $('div[class^="container_"]');
  12.  
  13.  
  14. //});
  15. </script>
  16. <style type="text/css">
  17. #container{width: 600px;height: 600px;background-color: #f3f3f3;overflow: hidden;margin-left: auto;margin-right: auto;}
  18. #container div:hover{cursor: pointer;}
  19. .container_0, .container_1{position:relative; width: 100px; height: 100px; background-color: red;}
  20.  
  21. .container_1{top:20px;left: 20px;}
  22. .container_0{top:20px;left: 300px;}
  23.  
  24. ._jsPlumb_drag_select * {
  25. /* background-color: blue; */
  26. -webkit-touch-callout: none;
  27. -webkit-user-select: none;
  28. -khtml-user-select: none;
  29. -moz-user-select: none;
  30. -ms-user-select: none;
  31. user-select: none;    
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <button class="dragElem">Drag</button>
  37. <div id="container">
  38. <div class="container_0"></div>
  39. <div class="container_1"></div>
  40. </div>
  41. <script type="text/javascript">
  42. //$(document).ready(function(){
  43. jpcl = jsPlumb.CurrentLibrary;
  44. _bind = jpcl.bind;
  45.  
  46. jsPlumb.ready(function() {
  47. var elem = $('div[class^="container_"]');
  48. var pointConf = {
  49. anchor:"Continuous",
  50. uniqueEndpoint:true,
  51. deleteEndpointsOnDetach:false,
  52. endpoint:["Rectangle", { width:40, height:20 }],
  53. maxConnections:3
  54. };
  55.  
  56. var instance = jsPlumb.getInstance({
  57. Connector : "Flowchart",
  58. DragOptions : { cursor: "pointer" },
  59. Container : "container"
  60. });
  61.  
  62. instance.doWhileSuspended(function() {
  63.  
  64. // No se puede utilizar makeSource si el elemento puede ser movido
  65. //jsPlumb.draggable(elem);
  66.  
  67. instance.makeTarget(elem, pointConf);
  68. instance.makeSource(elem, pointConf);
  69.  
  70. instance.bind("click", function(conn, originalEvent) {
  71. if (confirm("Delete connection from " + conn.sourceId + " to " + conn.targetId + "?"))
  72. instance.detach(conn);
  73. });
  74.  
  75. var buttonDrag =  jsPlumb.getSelector(".dragElem");
  76. _bind(buttonDrag, "click", function(event) {
  77. var stateBool = instance.toggleDraggable(elem); // Aqui esta el problema
  78. //instance.setDraggable(elem, true); // Tambien trate de usar setDraggable(), pero obtengo el mismo error
  79. alert(stateBool);
  80.  
  81. event.stopPropagation();
  82. event.preventDefault();
  83. });
  84.  
  85. });
  86.  
  87. });
  88. //});
  89. </script>
  90. </body>
  91. </html>
  92.  

Este es el error que siempre obtengo... no se el por que  :huh:
Citar
Error: cannot call methods on draggable prior to initialization; attempted to call method 'option'

Estoy haciendo el ejemplo con jquery-1.9.0-min.js, jquery-ui-1.9.2-min.js, jquery.jsPlumb-1.5.4-min.js.
http://jsplumbtoolkit.com/apidocs/jsPlumbInstance.html#toggleDraggable
http://jsplumbtoolkit.com/apidocs/jsPlumbInstance.html#setDraggable


« Última modificación: 18 Diciembre 2013, 00:00 am por EFEX » En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: jsPlumb error al hacer los elementos movibles
« Respuesta #1 en: 18 Diciembre 2013, 09:05 am »

Bueno levantanme fresco pude dar con una solucion..

Código
  1. <button class="dragElem" drag="true" >Drag</button>
Código
  1. instance.doWhileSuspended(function() {
  2.  
  3. //instance.makeTarget(elem, pointConf);
  4. //instance.makeSource(elem, pointConf);
  5. instance.draggable(elem);
  6. //...
  7. var buttonDrag =  jsPlumb.getSelector(".dragElem");
  8. _bind(buttonDrag, "click", function(event) {
  9. var state = $(this).attr('drag');
  10. var stateDrag = instance.toggleDraggable(elem);
  11.  
  12. if (state == 'true') {
  13. $('.lines-types button').removeAttr('disabled');
  14. $(this).attr('drag', 'false');
  15.  
  16. instance.makeSource(elem, pointConf);
  17. instance.makeTarget(elem, pointConf);
  18. }else{
  19. $('.lines-types button').attr('disabled', 'true');
  20. $(this).attr('drag', 'true');
  21.  
  22. instance.unmakeEverySource();
  23. instance.unmakeEveryTarget();
  24. }
  25.  
  26. event.stopPropagation();
  27. event.preventDefault();
  28. });
  29. /...
  30. });
  31.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines