【发布时间】:2014-02-13 16:59:55
【问题描述】:
我可以访问块末尾的 printButton 属性的 onclick 属性函数。虽然我无法在 exportButton 属性下启动 onclick 功能。我有以下代码。
B.exporting = {
type : "image/png",
url : "http://export.highcharts.com/",
width : 800,
enableImages : false,
buttons : {
exportButton : {
symbol : "exportIcon",
x : -10,
symbolFill : "#A8BF77",
hoverSymbolFill : "#768F3E",
_titleKey : "exportButtonTitle",
menuItems : [{
textKey : "downloadPNG",
onclick : function() {
this.exportChart()
}
}, {
textKey : "downloadJPEG",
**onclick : function() {
this.exportChart({
type : "image/jpeg"
})**
}
}, {
textKey : "downloadPDF",
onclick : function() {
this.exportChart({
type : "application/pdf"
})
}
}, {
textKey : "downloadSVG",
onclick : function() {
this.exportChart({
type : "image/svg+xml"
})
}
}
}]
},
printButton : {
symbol : "printIcon",
x : -36,
symbolFill : "#B5C9DF",
hoverSymbolFill : "#779ABF",
_titleKey : "printButtonTitle",
onclick : function() {
this.print()
}
}
}
};
我正在使用 jquery 插件将键盘控件绑定到单击事件,这是我用来打印的。这有效!:
Mousetrap.bind('ctrl+s', function(e) { B.exporting.buttons.printButton.onclick(this.print());
});
这段代码是我试图在上面的json中的exportButton属性下访问一个单独的onclick函数
Mousetrap.bind('*', function(e) {B.exporting.buttons.exportButton.menuItems[0].onclick;});
我得到的结果是值,但我想像 onclick 属性一样运行函数。有人知道如何在 json 属性下运行函数吗?感谢大家的帮助。
【问题讨论】:
-
据我所知,您不能用 JSON 传输函数。
-
这不是 JSON,它是一个 Javascript 对象字面量。 JSON 是当您将对象转换为字符串时,您可以传输它、将其保存在文件中等。
-
我认为你的 Ctrl-s 绑定是错误的——你不应该在绑定中调用
this.print(),它是在你调用的onclick函数中完成的。
标签: javascript json object properties highcharts