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