我在Javascript中使用以下代码段 -
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
hs.htmlExpand(null, {
pageOrigin: {
x: this.pageX,
y: this.pageY
},
headingText: this.series.name,
maincontentText:
'Value1:' + this.x +
' Value2:' + this.y,
width: 300
});
}
}
},
marker: {
lineWidth: 1
}
}
},
这是生成图表的函数的一部分,当用户点击图表上的某个点时,之前的代码会加载一个值为this.x
和this.y
的弹出窗口文本。
但是,点击该点后,我需要将this.x
和this.y
传递回C#以在函数中使用。
我厌倦了在函数顶部创建2个变量:var X
和var Y
然后在点击点时将它们设置在函数中,如 -
headingText: this.series.name,
maincontentText:
'Value1:' + this.x +
' Value2:' + this.y,
width: 300
X = this.x
Y = this.y
然而,添加该功能会导致错误 -
Error: 'chart' is undefined
答案 0 :(得分:1)
我相信解决方案可能就像丢失逗号一样简单。
headingText: this.series.name,
maincontentText:
'Value1:' + this.x +
' Value2:' + this.y,
width: 300,
X = this.x,
Y = this.y
答案 1 :(得分:0)
您可以添加两个文本框并设置display:none;
然后从X和Y设置文本框的值,并从后面的代码中使用它们
var x = this.x;
var y = this.y;
$('#TextBox1').val($('#TextBox1').val().replace($('#TextBox1').val(), x));
$('#TextBox2').val($('#TextBox2').val().replace($('#TextBox2').val(), y));
答案 2 :(得分:0)
用逗号(,)分隔值。
width: 300,
X = this.x,
Y = this.y
你错过了逗号,这就是为什么它给出了错误。
答案 3 :(得分:0)
问题是你正在使用扩展器选项搞乱变量。这是正确的代码:
click: function() {
window.X = this.x;
window.Y = this.y;
hs.htmlExpand(null, {
pageOrigin: {
x: this.pageX,
y: this.pageY
},
headingText: this.series.name,
maincontentText:
'Value1:' + this.x +
' Value2:' + this.y,
width: 300
});
}