当前位置: > > > jQuery - 右键菜单插件contextMenu使用详解2(菜单自动关闭、一直打开)

jQuery - 右键菜单插件contextMenu使用详解2(菜单自动关闭、一直打开)

五、让菜单能够自动关闭

默认情况下当菜单打开后,只有发生鼠标点击事件后菜单才会关闭(可以是点菜单项,或者点击页面上任意位置)。如果将 autoHide 属性设置为 ture,只要鼠标移出触发对象,菜单就会自动关闭。

1,效果图

右键点击“按钮1”打开菜单。如果这时将鼠标从“按钮1”上移开,菜单会自动隐藏。

2,样例代码

<button class="context-menu-one">按钮1</button>

<script type="text/javascript">
  $(function() {
     //初始化菜单
     $.contextMenu({
         selector: '.context-menu-one',
         autoHide: true,
         callback: function(key, options) {
             console.log("点击了:" + key);
         },
         items: {
             "edit": {name: "编辑", icon: "edit"},
         }
     });
  });
</script>

六、保持菜单的打开状态

默认情况下点击菜单项后菜单就会自动关闭。其实只需要在回调方法中返回 false,就可以让菜单一直保持打开的状态。

1,效果图

  • 菜单打开后点击“编辑”项,菜单会自动关闭。
  • 如果点击的是“剪切”项,菜单仍然保持打开的状态,不会关闭。

2,样例代码

<button class="context-menu-one">按钮1</button>

<script type="text/javascript">
  $(function() {
     //初始化菜单
     $.contextMenu({
         selector: '.context-menu-one',
         callback: function(key, options) {
             console.log("点击了:" + key);
         },
         items: {
            "edit": {
                name: "编辑",
                icon: "edit",
                callback: function(itemKey, opt, rootMenu, originalEvent) {
                    return true;
                }
            },
            "cut": {
                name: "剪切",
                icon: "cut",
                callback: function(itemKey, opt, rootMenu, originalEvent) {
                    return false;
                }
            }
         }
     });
  });
</script>
评论0