作成したselect_nodeイベントがあります。しかし、私たちがノードを選択すると、その発射回数は2回になります。ここであなたが変更を見ることができるように、私は2回発射されているselect_nodeイベントを設定します。JSTree select_nodeイベントの2回の実行
また、JStreeの初期化では、チェックイベントを指定しました。
$('#div_vocabulary_tree').on('select_node.jstree', function (e, data) {
alert("Select Event");
});
これは私がドリルダウンしたとき、我々は最初のレベル(ルート)のノードを選択した場合
$('#div_vocabulary_tree').jstree({
plugins: ["wholerow", "checkbox", "types", "search"],
"search": {
"case_insensitive": true
},
'checkbox': {
three_state: false, // to avoid that fact that checking a node also check others
whole_node: false, // to avoid checking the box just clicking the node
tie_selection: false // for checking without selecting and selecting without checking
},
'core': {
themes: {
responsive: !1
},
check_callback: false,
'data': arrayCollectiom,
types: {
"default": {
icon: "fa fa-folder icon-state-warning icon-lg"
},
file: {
icon: "fa fa-file icon-state-warning icon-lg"
}
}
}
}).on("check_node.jstree uncheck_node.jstree", function (e, data) {
//alert(data.node.parents);
//alert(data.node.parent);
//alert(data.node.id + ' ' + data.node.text + (data.node.state.checked ? ' CHECKED' : ' NOT CHECKED'))
})
詳細情報 は、どのような私が見つけたこと、それは、一つだけを発射された私のJStree初期化コードであります2番目のレベルであれば2を、2番目のレベルであれば3番目のレベルでselect_nodeイベントが3回発生します。 レベルとselect_nodeイベントとの接続があります。したがって、レベルと選択イベントとの接続のためにこの問題を解決するにはどうすればいいですか
:
イベントハンドラ内でそれを処理する方法の例は、イベントが発火している対象が選択またはクリックされた現在のターゲットであることを確認することです、それは私のために一度だけ発火する - https://fiddle.jshell.net/ermakovnikolay/d1buydyp/。 –
異なるレベルの子ノードも試しましたか?もしそれが私にとって奇妙なのであれば、なぜそれ以上のトリガーがレベルに依存するのか... –
はい、あなたもそのフィドルで試すことができます。コードをもっと投稿してください –