Была такая же проблема. Вот как вы это делаете:
element.jstree({
.
.
.
}).bind("select_node.jstree", function (event, data) {
setTimeout(function() {data.rslt.obj.children('a').trigger('contextmenu')}, 100);
});
Обратите внимание, что запуск выполняется в setTimeout (). У меня не получилось иначе.