Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将上下文菜单附加到flot图形点_Javascript_Jquery_Contextmenu_Flot - Fatal编程技术网

Javascript 将上下文菜单附加到flot图形点

Javascript 将上下文菜单附加到flot图形点,javascript,jquery,contextmenu,flot,Javascript,Jquery,Contextmenu,Flot,我正在尝试将jQuery插件上下文菜单附加到flot图中的点。我使用以下代码使用右键单击上下文菜单: $(".chart").bind("plotclick").contextMenu('myMenu1', { bindings: { 'delete': function(t) { // Do stuff when delete is clicked } } }); 如上所述,如果我右键点击图表上的任何一个点,就会弹

我正在尝试将jQuery插件上下文菜单附加到flot图中的点。我使用以下代码使用右键单击上下文菜单:

$(".chart").bind("plotclick").contextMenu('myMenu1', {
    bindings: {
      'delete': function(t) {

                 // Do stuff when delete is clicked

      }
    }
});
如上所述,如果我右键点击图表上的任何一个点,就会弹出一个小菜单,其中有“删除”

但是,我需要访问flot提供的关于单击点的数据。通常,
plotclick
功能如下所示:

$(".chart").bind("plotclick", function (event, pos, item) {

    // In here I can see details about the point that was clicked by looking at event, pos and item

})
所以我的问题是,如何将
事件、pos、item
变量传递到上面第一个代码中contextMenu的delete函数?我所做的是不是连接contextMenu的正确方法


谢谢

如何将上下文菜单一般绑定到绘图容器div,然后使用
plothover
事件跟踪您是否“超过”某个点?如果未超过某个点,则会抑制弹出窗口;如果超过某个点,则会从全局作用域变量获取点信息

 $("#placeholder").contextMenu('myMenu1', {
    onContextMenu: function(e) {
        if (somePoint) return true;
        else return false;
    },

    bindings: {
      'delete': function(t) {
        alert(lastPoint.series.label);    
      }
    }
});

var somePoint = null, lastPoint = null;
$("#placeholder").bind("plothover", function (event, pos, item) {
    if (item){
        somePoint = item;
    }else{
        lastPoint = somePoint;
        somePoint = null;   
    }
});
小提琴


顺便说一句,我原来的小提琴不起作用的原因是我使用了错误的jquery上下文菜单。我以为你用的是这个,而不是这个。

你能把你目前所拥有的东西做一个简单的介绍吗?我开始在这里工作:,但不能完全得到一个工作样本。@马克做了一些调整,使小提琴工作到我现在的位置。我不得不将上下文插件直接复制到JavaScript窗口中,链接的文件就是不起作用。我的错,我应该说得更具体些。这是一个聪明的解决方案,但它并不总是启动delete函数。我不确定模式是什么,但肯定是从一个新的页面加载来看,第一次右键单击并单击“删除”会触发警报,如果我右键单击同一点并单击“删除”,则不会触发警报。它还随机地在不同的测线点之间不发出警报。找到了模式。如果我右键单击该点,然后将鼠标移到图形上的其他位置,然后返回并单击“删除”,则不会发生任何情况。一定是因为在我右键单击后将鼠标悬停在nothing上时,您正在将somePoint设置为null…我已通过以下更改修复了问题(我认为),您认为如何?