¿Cómo hacer que las carpetas del árbol dijit sean seleccionables?

Tengo un árbol en el que quiero que se llame a onOpen y onClose solo cuando el usuario haga clic en el ícono +/- y no si hace clic en cualquier lugar de la línea que contiene la carpeta. entonces quiero que se active el evento onClick cada vez que el usuario haga clic en la línea donde está la carpeta (excepto en el icono de expandir/contraer). He intentado mirar el nodo pasado a onopen por defecto y también he intentado mirar el nodo enviado por onclick. Parece que onopen anula onclick internamente. Por favor, dame una dirección para abordar este problema.

Gracias de antemano!

preguntado el 02 de julio de 12 a las 11:07

1 Respuestas

Parece que hay una bandera que puedes pasar al Árbol para hacer esto:

// openOnClick: Boolean
// If true, clicking a folder node's label will open it, rather than calling onClick()
openOnClick: false,

Lo usarías así:

var myTree = new Tree({
    ..., //the other arguments you are already using
    openOnClick: true
});

En el futuro, recomiendo consultar los documentos de API o el código fuente de los widgets que está utilizando. Descubrirá que a menudo encontrará características útiles como esta y que el código fuente de Dojo está bien organizado y es fácil de leer, por lo que es un buen lugar para verificar cada vez que tenga dudas sobre cómo funciona algo.

Respondido 02 Jul 12, 14:07

lamento toparme con un hilo antiguo. Quiero algo adicional. Es decir, cuando hago clic en el signo +, no quiero que se abra el subdirectorio, es decir, el signo + no debería enviar el evento. ¿Es posible hacerlo? ¿ese? - Harsha Venkatram

@harsha: No existe tal cosa como "golpear" en StackOverflow. En su lugar, debe hacer una nueva pregunta (agregar un enlace a otras preguntas si son relevantes) - Hugo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.