jstree のチェックボックス プラグインは、ノードのチェック/チェック解除時に他のアクションを実行するように見えます。私はあなたが探していることを次のようにすべきだと信じています:
$(function(){
// Initialize jstree
var $tree = $('.tree-target').jstree({
"plugins": ["checkbox"]
});
// Bind an event to the anchor tag within each tree entry
// Note: '.on' is used here as this will ensure that any
// dynamically-generated entries will also use this 'click'
// event.
$tree.on('click', 'li.tree > a', function (e) {
e.stopPropagation();
// Find the first parent 'tree' element
var $node = $(this).parents('li.tree').eq(0);
// Toggle the state of the current 'tree' element
// Note: The third parameter (in this case 'toggle')
// can be any value other than true or false
$tree.jstree('change_state', $node, 'toggle');
return false;
});
});
余談ですが、あなたのアプローチが大幅な遅延につながった理由は、ページ上のclick
すべての<a/>
タグにイベントをバインドすることに関係している可能性があると思います. これにより、適切なイベント ターゲットを見つけようとすると、かなりのオーバーヘッドが発生します。