Polymer 动态图的点击回调在聚合阴影DOM中不工作

Polymer 动态图的点击回调在聚合阴影DOM中不工作,polymer,dygraphs,Polymer,Dygraphs,我正在创建一个Ploymer自定义组件,并使用Dygraph创建一个图表。我为相同的应用程序添加了一个pointClickCallback 但是,当图表位于阴影dom中时,pointClickcallback根本不起作用。尽管如此,当我将图表放在自定义组件之外,即index.html中时,pointClickCallback工作正常 EDIT:highlightCallback在阴影dom中正常工作,而不是pointClickCallback 谁能告诉我可能有什么问题吗 更新 我不确定这是否是正

我正在创建一个Ploymer自定义组件,并使用Dygraph创建一个图表。我为相同的应用程序添加了一个
pointClickCallback

但是,当图表位于阴影dom中时,pointClickcallback根本不起作用。尽管如此,当我将图表放在自定义组件之外,即index.html中时,pointClickCallback工作正常

EDIT:
highlightCallback
在阴影dom中正常工作,而不是
pointClickCallback

谁能告诉我可能有什么问题吗

更新

我不确定这是否是正确的做法,但请提出建议。我正在做下面这样的事情,它对我很有用

var self = this; // 'this' is not the window object
self.pts = null;
var g = new Dygraph(
    this.$.div_g,
    NoisyData, {
      rollPeriod: 7,
      showRoller: true,

      errorBars: true,
      highlightCallback: function(e, x, pts, row) {
          console.log("highlightCallback --> self.pts", self.pts);
          console.log("highlightCallback", pts);
          self.pts = pts;
          console.log("highlightCallback --> self.pts", self.pts);
      },
      interactionModel : {
          'click' : function(e) {
              console.log("click", e, self.pts);
          }
      },
    }
  );

点击回调
不进入
交互模型
,但基本上与
高亮回调
处于同一级别。 因此,您的代码应该如下所示:

var g = new Dygraph(
    this.$.div_g,
    NoisyData, {
      rollPeriod: 7,
      showRoller: true,

      errorBars: true,
      highlightCallback: function(e, x, pts, row) {
          console.log("highlightCallback --> self.pts", self.pts);
          console.log("highlightCallback", pts);
          self.pts = pts;
          console.log("highlightCallback --> self.pts", self.pts);
      },
      pointClickCallback: function(e,pt) {
         console.log('Point clicked');
      },
      interactionModel : {
          'click' : function(e) {
              console.log("click", e, self.pts);
          }
      },
    }
  );

点击回调
不进入
交互模型
,但基本上与
高亮回调
处于同一级别。 因此,您的代码应该如下所示:

var g = new Dygraph(
    this.$.div_g,
    NoisyData, {
      rollPeriod: 7,
      showRoller: true,

      errorBars: true,
      highlightCallback: function(e, x, pts, row) {
          console.log("highlightCallback --> self.pts", self.pts);
          console.log("highlightCallback", pts);
          self.pts = pts;
          console.log("highlightCallback --> self.pts", self.pts);
      },
      pointClickCallback: function(e,pt) {
         console.log('Point clicked');
      },
      interactionModel : {
          'click' : function(e) {
              console.log("click", e, self.pts);
          }
      },
    }
  );

是的,确切地说,
pointClickCallback
highlightCallback
处于同一级别,但正如我在问题中提到的“highlightCallback在阴影dom中正常工作,而不是pointClickCallback”。因此,我使用了
interactionModel
。这是在shadowdom还是ShadyDOM中发生的?使用我的聚合物包装器进行动态图时,pointClickCallback确实可以正常工作()是的,
pointClickCallback
highlightCallback
处于同一级别,但正如我在问题中提到的“highlightCallback在阴影dom中正常工作,而不是pointClickCallback”。因此,我使用了
interactionModel
。这是在shadowdom还是ShadyDOM中发生的?将我的聚合物包装器用于动态图,pointClickCallback确实可以很好地工作()