0
这是我的代码,我将右键单击一个节点并显示一个对话框,然后我将选中此对话框中的复选框以隐藏此节点。但是,似乎每当我右键单击多个节点(不勾选前一节点的复选框,而是选中当前节点的复选框)时,它会隐藏所有先前右键单击的节点,而不是仅隐藏当前右键单击的节点,点击一个。 这里是代码:event.cyTarget坚持以前的事件
cy.on('cxttap','node',function(e) {
var target = e.cyTarget;
//after clicking node, display dialog, where a checkbox is shown.
$("#dialog-rightClick").dialog({
width:250,
title:target.id(),
position:{my: 'left',at: 'right',of:e}
});
//checkbox, if checked, hide the node, otherwise,show all nodes
$('#hdNode').change(function(){
if(this.checked){
// for (var i=0;i<target.length;i++)
//{
// console.log(target[i].data());
// }
target.hide();
}
else{
target.show();
}
});
有人帮我吗?非常感谢
如果测试e。在调用$(“#dialog-rightClick”)。dialog()之前调用cyTarget。它会起作用,但$('#hdNode')。change(function(){}中的target.hide()会坚持前一个事件。 – LEON
如果没有对话框,你可以证实吗?否则,这几乎肯定是对话框问题 – maxkfranz
解决我的问题,如果我在cy.on函数循环之前声明var目标。 – LEON