我正在编写一个简单的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
绑定到不同的操作?我应该怎么做?
答案 0 :(得分:0)
事实证明,错误是由我的代码中的另一个错误引起的(我的问题中发布的简化示例代码中没有这个错误)。
要明确回答我发布的问题:perform
不是一个关键字,成员函数可以命名为您想要在类中命名的任何内容(只要它们是遵循正常的命名规则,当然)。