2011-01-04 16 views
5

Nie mogę tego rozgryźć, ale próbuję skonfigurować JSTree, aby nadpisać zdarzenie z podwójnym kliknięciem, więc jest to tylko jedno kliknięcie. Czy to coś zostało dodane do konfiguracji wywołań zwrotnych? Nie jestem pewien, jak to zrobić, czy będę musiał edytować kod źródłowy JSTree? Dokumentacja tutaj: http://docs.planbleu.org/modules/webportal/jquery/jsTree.v.0.9.5/documentation/#configurationJSTree: Czy węzeł rozwija się po pojedynczym kliknięciu zamiast dwukrotnego kliknięcia?

Próbowałem zmienić "ondblclk" na "kliknij" w kodzie źródłowym, a następnie dodając opcję "oddzwaniania" do ustawień konfiguracji i nic nie zrobił ... Prawdopodobnie robię to źle .

Odpowiedz

7

wysyłając to do funkcji tworzenia drzewa wystarczyły:

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

(gdzie t jest odniesienie do drzewa)

+5

Gdzie to ma być dodane? Czy mógłbyś udostępnić całą funkcję tworzenia drzewa? – TechyTimo

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

To może spowodować, że zacząłeś we właściwym kierunku. Najprawdopodobniej musisz odfiltrować, które z nich zostaną rozwinięte lub nie, w zależności od danych meta.

2

znalazłem poprawną odpowiedź w kwestii dla wtyczki na github. Powyższe odpowiedzi NIE działają. To działa absolutnie i jest wyczerpującą odpowiedzią na pytanie, w jaki sposób wywołać wtyczkę, i jak sprawić, by korzystał z jednego kliknięcia, zamiast podwójnego kliknięcia.

$('#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, w razie potrzeby.

Powiązane problemy