d3节点上添加右键菜单,使用smartMenu.js

  1. 引入js
    <link rel="stylesheet" href="http://www.zhangxinxu.com/study/css/smartMenu.css" type="text/css" />
    <script type="text/javascript" src="http://www.zhangxinxu.com/study/js/jquery-smartMenu.js"></script>
    
  2. 添加右键菜单
        // 添加右键菜单
        // 定义菜单选项
        var userMenuData = [
          [
            {
              text: "设为起始企业",
              func: function () {
                  //console.log($(this));
                  //console.log($(this).context.__data__.name)
                  var name=$(this).context.textContent;
                  if (name.indexOf(" ") !== -1){
                        var end_index = name.indexOf(" ");
                        var name1= name.substring(0,end_index);
                  }else{
                      var name1= name
                  }
                  console.log(name1);
                  $("#start_company").val(name1)
              }
              //data  二级菜单数据 一般不与func同时出现
            },
            {
              text: "设为终点企业",
              func: function () {
                  var name=$(this).context.textContent;
                  if (name.indexOf(" ") !== -1){
                        var end_index = name.indexOf(" ");
                        var name2= name.substring(0,end_index);
                  }else{
                      var name2= name
                  }
                  console.log(name2);
                  $("#end_company").val(name2);
                //var id = Number($(this).attr("id"));
                //alert("菜单2"+",No."+ id)
              }
            },
          ]
        ];
        // 事件监听方式添加事件绑定
        $(".company").smartMenu(userMenuData, {
          name: "circleControl",
          //container: "g.circle"
        });
    
    
    3)总结
    代码其实不多,重点在于对节点对象的绑定,使用的smartMenu事件。
    userMenuData 里是对于右键菜单里面的一些样式控制,功能选择等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值