2011-01-04 21 views
5

No puedo entender esto por mi vida, pero estoy tratando de configurar mi JSTree para anular el evento de doble clic, por lo que solo se trata de un solo clic. ¿Esto se agrega a la configuración de devolución de llamada? No estoy seguro de cómo hacer esto, ¿tendré que editar el código fuente de JSTree? Documentación aquí: http://docs.planbleu.org/modules/webportal/jquery/jsTree.v.0.9.5/documentation/#configurationJSTree: ¿Hacer que el nodo se expanda cuando se hace clic solo en lugar de hacer doble clic?

Traté de cambiar el "ondblclk" para "hacer clic" en el código fuente y luego agregar una opción de devolución de llamada "clic" a la configuración de configuración y no hizo nada ... Probablemente lo estoy haciendo mal .

Respuesta

7

el envío de esto en la función de creación de árboles hizo el truco:

onselect: function(n, t) { 
     t.toggle_branch(n); 
    }, 

(donde t es la referencia al árbol)

+5

¿Dónde se debe agregar esto? ¿Podría compartir la función de creación de árbol completa? – TechyTimo

4
$("#tree").bind("select_node.jstree", function (e, data) { 
$("#tree").jstree("toggle_node", data.rslt.obj); 
$("#tree").jstree("deselect_node", data.rslt.obj); 
}); 

Esto podría comenzar en la dirección correcta. Probablemente necesite filtrar cuáles expandir o no según los metadatos.

2

he encontrado la respuesta correcta en un problema para el plugin en github. Las respuestas anteriores NO funcionan. Esto funciona absolutamente y es una respuesta completa sobre cómo llamar al complemento y cómo hacer que use un solo clic para expandir en lugar de hacer doble clic.

$('#jstree') 
     .on('click', '.jstree-anchor', function (e) { 
      $(this).jstree(true).toggle_node(e.target); 
     }) 
     .jstree() 

Here is a link to where the author mentions the solution, en caso de que lo necesite.

Cuestiones relacionadas