web-dev-qa-db-fra.com

comment obtenir l'événement click de l'élément row de jstree?

Pouvez-vous s'il vous plaît me dire comment obtenir l'événement click de l'élément row de jstree? Je fais une démo de jstree dans mon violon .il est fait dans le panneau. Vous devez appuyer sur le bouton "ouvrir le panneau" pour vérifier le panneau

Je veux cliquer sur event of jstree element pour l'obtenir sur click? Pour la préparation de l’arbre, je dois appuyer plusieurs fois sur «ajouter un bouton de test», puis appuyer sur le bouton «Ouvrir le panneau».

voici mon violon http://jsfiddle.net/ZLe2R/6/

function addMenuItemsOfTestSuit(id){

 var menuid = "menu_" + id;
       var ref = $('#tree').jstree(true);
        alert('thank')
    ref.create_node("#", {"id" : menuid, "text" : id});

        ref.deselect_all();

}
11
user3530755

Utilisez cet écouteur d'événement:

$('#tree').on("select_node.jstree", function (e, data) { alert("node_id: " + data.node.id); });

Look Evénements de l'API jsTree pour une liste d'événements. 

EDIT: créé un violon: http://jsfiddle.net/y7ar9/4/

22
oerl

Vous pouvez utiliser 

$(document).on('click', '.jstree-anchor', function(e) {...});

Vous voudrez peut-être déplacer votre gestionnaire de clics vers sa propre fonction et obtenir la variable id du parent de l'ancre:

$(document).on('click', '.jstree-anchor', function(e) {
    var anchorId = $(this).parent().attr('id');
    var clickId = anchorId.substring(anchorId.indexOf('_') + 1, anchorId.length);
    onMenuItemClick(clickId, e);
});
$(document).on('click', '.clickTestCaseRow', function (e) {
    onMenuItemClick(this.id, e);
});
function onMenuItemClick(clickId, e) {
    hideDisplayView();
    displayNewView(clickId);
    e.stopPropagation();
}

Voici un violon.

4
Trevin Avery

Personnellement, j'aime bien l'événement 'activate_node'. Si vous modifiez la sélection du nœud après publication et que la page est rechargée et que le nœud est toujours sélectionné, aucun autre événement ne se déclenche, ce qui entraîne une boucle de publication sans fin. 

$('#jstree').on('activate_node.jstree', function (e, data) {
     if (data == undefined || data.node == undefined || data.node.id == undefined)
                return;
    alert('clicked node: ' + data.node.id);
});
0
JJ_Coder4Hire