树图点击右键弹出操作菜单

html:
<!--右键点击弹窗-->
<div class="floatingNode" tabindex="-1" id="floatingNode" role="dialog" style="width: auto;height: auto;display: none">
<a class="control_a" href="#" data-toggle="modal" data-target="#control_info" id="add_btn">添加节点<br><br></a>
<a class="control_a" href="#" id="del_btn">删除节点<br><br></a>
<a class="control_a" href="#" data-toggle="modal" data-target="#control_info" id="alt_btn">更新节点<br><br></a>
<a class="control_a" href="#" data-toggle="modal" data-target="#bind_info" id="db_btn">原子绑定<br><br></a>
</div>
js:(单击左键显示该节点基本信息,右键打开操作菜单。若该节点有子节点,隐藏原子绑定功能)
//点击某节点触发的事件
oc.$chartContainer.on('mousedown', '.node', function(e) {
if(1==e.which){
let field_name;
let table_name;
let algorithm_name;
let $this = $(this);
$('#floatingNode').modal('hide');
//选中节点的id
current_nodeID=$this.attr('id');
if (current_nodeID!=target_id){
$('#field_name').removeAttr("disabled");
$('#table_name').removeAttr("disabled");
$('#algorithm_name').removeAttr("disabled");
}else {
$('#field_name').attr("disabled","disabled");
$('#table_name').attr("disabled","disabled");
$('#algorithm_name').attr("disabled","disabled");
}
//已选节点赋值
$('#selected-node').val($this.find('.title').text()).data('node', $this);
$.ajax({
async:false,
method: 'post',
type: 'json',
data: {
"id":current_nodeID,
},
url: '/assess/get_fieldName_by_id/',
success: function (result) {
if(result.flag){
let res = result.data;
field_name=res[0].field_name;
table_name=res[0].table_name;
algorithm_name=res[0].algorithm_name;
let all_children = result.all_children;
if(all_children.length>0){
$('#db_btn').css("display","none");
$('#bind_atom').css("display","none");
}else {
$('#db_btn').css("display","");
$('#bind_atom').css("display","");
}
$('#bind_host_name').val(res[0].host_id!=""?res[0].host_id:"未绑定");
$('#bind_atom_name').val(res[0].atom_id!=""?res[0].atom_id:"未绑定");
}
},
});
$('#algorithm_name').val(algorithm_name);
$('#table_name').val(table_name);
getField_name(table_name,field_name);
}else if (3==e.which){
     //选中节点右键点击弹出菜单,未选中节点不弹出
if ($(this).attr('class').indexOf("focused")!= -1){
$('#floatingNode').css("left", document.body.scrollLeft + event.clientX + 1);
$('#floatingNode').css("top", document.body.scrollLeft + event.clientY + 10);
$('#floatingNode').modal('show');
}
}
});
posted @ 2021-12-22 11:24  skr_skr~  阅读(63)  评论(0)    收藏  举报