在这种情况下'执行'是一个关键字吗?

时间:2013-12-12 19:56:38

标签: javascript jquery coffeescript

我正在编写一个简单的jQuery插件,其中我想将事件绑定到调用元素。

我有这样的事情:

$=jQuery

jQuery.fn.pluginFunction = -> @each (i, element) -> new PluginObj(element)

class PluginObj
  constructor: (element) ->
    @element = $(element)
    @element.on 'change', @perform
    @element.on 'keyup', @manage_timeout

  perform: (event) =>
    console.log "foo"

  manage_timeout: (event) =>
    setTimeout(console.log("bar"), 1000)

我将此绑定到带有$('input#target_input').pluginFunction()的文本输入字段。当我这样做时,change事件的绑定被注册,但keyup的绑定没有做任何事情。如果我更改了perform的名称,它就会停止工作。

那么,perform是这个背景下的保留字吗?如果是,是否可以将keyup绑定到不同的操作?我应该怎么做?

1 个答案:

答案 0 :(得分:0)

事实证明,错误是由我的代码中的另一个错误引起的(我的问题中发布的简化示例代码中没有这个错误)。

要明确回答我发布的问题:perform 不是一个关键字,成员函数可以命名为您想要在类中命名的任何内容(只要它们是遵循正常的命名规则,当然)。