Cocos2d-js中函数调用出bug

最近做项目时遇到,一个问题,在下图所示的代码中openHelpDialog函数调用a函数在浏览器中运行时提示SceneStart.js:608 Uncaught TypeError: this.a is not a function,可是我在代码中明明定义了这两个函数,其中openHelpDialog函数是按钮响应函数
报错的代码如下图


错误提示如下图

这是Javascript的this作用域的问题。估计是因为你把this.openHelpDialog传给了别的函数当作参数,此时openHelpDialog里面的this就不是包含openHelpDialog和a这两个函数的this了。你试一下在传递openHelpDialog的时候把它bind到包含a的对象上,如:

ccuiWidget.addTouchEventListener(this.openHelpDialog.bind(this));

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind