2012-03-22 3 views
0

здесь является JavaScript:как изменить несколько аргументов функции в coffescrpt

$inputor.on("keyup.inputor", $.proxy(function(e) { 
    var stop_key = e.keyCode == 40 || e.keyCode == 38 
    lookup = !(this.view.isShowing() && stop_key) 
    if (lookup) this.lookup() 
},this)) 

, как я могу перевести его в coffesscript? первый аргумент функции, такой как $ .proxy, является функцией и по-прежнему имеет вторую.

Мое решение назначает переменную для первого аргумента, функцию и присваивает ее $ .proxy. , но я хочу лучшее решение.

CoffeeScript:

?????? 

ответ

3

Вместо того, чтобы использовать функцию jQuery.proxy, вы могли бы использовать CoffeeScript жир стрелка => поскольку контекст вы пытаетесь использовать this

$inputor.on "keyup.inputor", (e) => 
    stop_key = e.keyCode == 40 || e.keyCode == 38 
    lookup = !(@view.isShowing() && stop_key) 
    @lookup() if lookup 
+0

благодарит за вас ответ. Я просто делаю то, что вы говорите. – ichord