3

我需要图表中的点击事件。但我还需要允许用户选择放大范围。

点击事件已正确注册。但是在进行选择时,它会同时触发plotselectedplotclick事件。

如何防止在plotclick触发时plotselected触发事件?

选择插件:https ://github.com/flot/flot/blob/master/jquery.flot.selection.js

4

3 回答 3

0

目前没有,没有办法避免同时获得这两个事件。

一种解决方案可能是删除“可点击”选项,而是收听“plotunselected”事件,该事件由不拖拽的点击触发。

于 2013-04-16T13:36:38.463 回答
0

问题是plotselected触发plotclick事件。

以下条件检查解决了我的问题。

$("#graph").bind("plotclick", function (event, pos, item) {
        if (item == undefined) return false;
        // the rest of the click event here
});
于 2013-05-16T03:13:21.717 回答
0

resting 的答案对我来说不太管用,因为plotclick即使没有点击任何项目,我的用例也需要处理事件。

通过在事件处理程序中设置一个变量然后在处理程序中检查它,我能够确定事件是否是事件处理程序中的plotselectionvsplotclick事件:plotclickplotselectionplotclick

var plotSelectionEvent = false;

$("#placeholder").bind("plotselected", function (event, ranges) {

    plotSelectionEvent = true;

    // rest of the plot selection event code

});

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

    // check if this event was originally a plot selection event
    // reset the variable and return if it was
    if (plotSelectionEvent) {
        plotSelectionEvent = false;
        return;
    }

    // rest of the plot selection event code

});
于 2018-08-14T21:45:42.820 回答