0

我将 highslide 与 highcharts 结合使用,并且我想修改关闭按钮,更具体地说,我想在用户单击该“X”按钮时调用一个附加函数。

当我检查那个“X”按钮时,我在控制台中得到了这个

<a href="#" title="Close (esc)" onclick="return hs.close(this)"><span>Close</span></a>

我想做这样的事情

<a href="#" title="Close (esc)" onclick="return hs.close(this);myotherfunction();"><span>Close</span></a>

但我无法找到该代码的位置。

除了要手动覆盖的 highslide.config.js 之外,我还尝试将其添加到 html 文件本身的标题中,但它没有奏效。

hs.registerOverlay({
   html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
   position: 'top right',
   fade: 2 // fading the semi-transparent overlay looks bad in IE
});

有人可以帮帮我吗?

///////////////////////////////// 更新感谢 Jeff B,我能够使用如下所示的代码完成所需的任务(尽管 Jeff B 显示的示例也适用):

cursor: 'pointer',
point: {
    events: {
        click: function(event) {
            hs.htmlExpand(null, {
                pageOrigin: {
                    x: this.pageX,
                    y: this.pageY
                },
                headingText: this.ticker,
                maincontentText: '<b>Detail:</b> ' + this.info,
                width: 250
            });

            alert('function goes here');

            hs.Expander.prototype.onBeforeClose = function(sender) {
                alert('function goes here');
            }               
        },
    }
},
4

1 回答 1

4

为什么要修改按钮?Highslide 提供了一个onBeforeClose原型:

hs.Expander.prototype.onBeforeClose = function (sender) {
   myotherfunction();
}

onAfterClose如果您想要不同的时间,还有一个原型。

onBeforeClose 文档

演示:http: //jsfiddle.net/xjKFp/

于 2013-04-02T20:29:41.200 回答