这是关于JS变量范围的第n个问题,但我通读了其余部分,但并没有完全得到答案。

var notification = window.webkitNotifications.createNotification(
'image.png',                      // The image.
'New Post: ',// The title.
'New stuff'// The body.
);

var itemLink = 'http://pathtothefile.com';

notification.onclick = function(itemLink) {
window.focus();
window.open(itemLink,'_blank' );
this.cancel();
};

notification.show();


我如何获得在全局范围内定义的itemLink在onclick函数中工作?

最佳答案

从函数中删除参数:

notification.onclick = function(itemLink) { // overrides itemLink in the global
                                            // object.


固定代码:

notification.onclick = function() {
    window.focus();
    window.open(itemLink,'_blank' );
    this.cancel();
};

关于javascript - 具有事件处理程序的Javascript变量范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10672212/

10-09 15:37