Write a CSS rule targeting:
.jstree li.jstree-open > a.jstree-anchor > i.jstree-checkbox,
.jstree li.jstree-closed > a.jstree-anchor > i.jstree-checkbox { display:none; }
That should do it.
$("#tree1").jstree(...).find("li.jstree-open i.jstree-checkbox, li.jstree-close i.jstree-checkbox").hide()
$('#jstree-element')
.on("select_node.jstree deselect_node.jstree", function (e, data) {
if(data.node.children.length) {
e.preventDefault(); // may not be necessary
e.stopImmediatePropagation();
// uncomment below if you wish to have the parent item open/close the tree when double clicked
//return data.instance.toggle_node(data.node);
}
})
.on('loaded.jstree', function (e, data) {
$(element).find('li.jstree-open > a.jstree-anchor > i.jstree-checkbox, li.jstree-closed > a.jstree-anchor > i.jstree-checkbox').hide();
})
.on('open_node.jstree close_node.jstree', function (e, data) {
$(element).find('li.jstree-open > a.jstree-anchor > i.jstree-checkbox, li.jstree-closed > a.jstree-anchor > i.jstree-checkbox').hide();
})
.jstree({
// init your tree here
});