2013-07-16 3 views
2

У меня есть асинхронное дерево easyui, в котором функция вызывается при щелчке каждого узла. Когда щелкнут узел, данные, соответствующие этому узлу, будут заполнены. Я хочу, чтобы не удалялся клик другого узла, но данные заселяются для одного узла. Это мой код для дерева:Как отключить узел дерева easyui?

<ul id="jqueryTree" class="easyui-tree" data-options="animate:true,lines:true"> 
</ul> 

$('#jqueryTree').tree({ 
onClick: function(node){ 
    populateData(node.id); 
} 

}); 

И я попытался так:

$('#jqueryTree').off('click'); 
$('#jqueryTree').on('click'); 

Но не повезло :(

+0

Вы можете использовать «return false», чтобы отключить событие по умолчанию: http://stackoverflow.com/questions/128923/whats-the-effect-of-adding-return-false-to-an-oncl ick-event – Jon

+0

Я пробовал это ... но узел, выбранный во второй раз, становится выбранным узлом и подсвечивается. Так выглядит, один узел выбран и данные для какого-либо другого узла заселены. – user1934095

ответ

2

Попробуйте, как это,

var flag=true; 
$('#jqueryTree').tree({ 
onClick: function(node){ 
    $('#jqueryTree').tree('select', node);  
}, 
onSelect:function(node) 
{ 
    if(flag) 
    { 
    flag=false; 
    populateData(node.id); 
    } 
}, 
onBeforeSelect:function(node) 
{ 
    if(!flag) return false; 
} 
}); 

function populateData(id) 
{ 
// your stuff 
flag=true; 
} 
Смежные вопросы