使用goog.events.listen传递参数

A_P*_*ine 2 javascript events click google-closure google-closure-library

我正在使用Google Closure的事件处理方式:

goog.events.listen(this.contentElement, goog.events.EventType.CLICK, this.openEditor);
Run Code Online (Sandbox Code Playgroud)

但是我需要将一个字符串作为参数传递给函数 this.openeditor

我查看了文档,但似乎无法解决如何做到这一点,任何人有任何想法?

谢谢!

Jos*_*ire 8

尝试使用goog.partial,如下所示:

goog.events.listen(this.contentElement, goog.events.EventType.CLICK, goog.partial(this.openEditor,'the string you want to pass it'));
Run Code Online (Sandbox Code Playgroud)

this.contentElement被点击时,this.openEditor会被调用.第一个参数是字符串,第二个参数是事件对象.

  • 在许多情况下,你会想要使用`goog.bind`,所以你当前的`this`被设置为调用函数时的上下文.你也可以将`this`传递给goog.events.EventHandler并听取它. (2认同)