修改highslide弹出窗口的“X”关闭按钮

时间:2013-04-02 20:23:27

标签: javascript jquery highcharts highslide

我将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>

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

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

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');
            }               
        },
    }
},

1 个答案:

答案 0 :(得分:4)

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

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

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

onBeforeClose Documentation

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