2013-01-03 39 views
0

请咨询全局函数,我想打电话给B的函数内的一个()函数()`S功能JS调用内部function`s功能

我不知道如何链接此一()功能。

d = function() { 
     this.a = function() {} 

     this.b = function() { 
      x.hover(function() { this.a() }); 
     } 
    } 
+2

java!= javascript –

+0

!!对不起,我是一个noob。不知道,删除标签... – Till

+1

您需要在'd'函数中存储对'this'的引用。 'var me = this;'then'me.a();' – Shmiddty

回答

3

这里有一个办法做到这一点:

d = function(){ 
    var self = this; 

    this.a = function(){}; 
    this.b = function(){ 
     x.hover(function(){ self.a() }); 
    } 
} 

在JS this取决于函数是如何被调用设置,并传递给x.hover()匿名函数内部它不是你所期望的是什么。只需保留对正确的this的引用并使用它...

更多阅读:MDN's this page

+0

非常感谢。我试过了,但它没有工作..请咨询我应该在哪里进一步检查?我设置了一个alert();在运行self.a()之前和之后;警报通过之前但不是之后。 – Till

+0

@ShinanTillTominaga你可以用你的代码发表小提琴吗? – hayavuk

+0

我也许发现我的问题。非常感谢你!!!! – Till