我需要在图表中点击事件。 但我还需要允许用户选择要放大的范围。
点击事件已正确注册。但是,在进行选择时,它会触发plotselected
和plotclick
个事件。
如果在触发plotclick
时阻止plotselected
事件被触发,我该怎么办?
选择插件:https://github.com/flot/flot/blob/master/jquery.flot.selection.js
答案 0 :(得分:0)
目前没有,没有办法避免同时发生这两件事。
一种解决方案可能是删除“可点击”选项,而是收听“plotunselected”事件,该事件由没有拖动的点击触发。
答案 1 :(得分:0)
问题是plotselected
触发plotclick
事件。
以下条件检查解决了我的问题。
$("#graph").bind("plotclick", function (event, pos, item) {
if (item == undefined) return false;
// the rest of the click event here
});
答案 2 :(得分:0)
resting's answer对我来说不太有效,因为即使没有单击任何项目,我的用例也需要处理plotclick
事件。
通过在plotselection
事件处理程序中设置一个变量,然后检查,我能够确定事件在plotclick
事件处理程序中是plotclick
vs plotselection
事件在plotclick
处理程序中:
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
});